null

Меняем порядок вывода почтовых аккаунтов в Thunderbird

Столкнулся с проблемой - почтовых аккаунтов у меня несколько, и, после добавления очередного, в Thunderbird он отобразился в клиенте в самом низу списка, что для меня неудобно - хотелось бы видеть этот аккаунт повыше (в данном конкретном случае - на 2 строки):

Хочется переместить аккаунт повыше

Честно говоря, я всегда предполагал, что эта проблема решается в Thunderbird каким-нибудь интуитивно-понятным способом типа drag'n'drop'а или удобной кнопочки в настройках аккаунтов. Как выяснилось, не тут-то было - пришлось шаманить с конфигурационными файлами. В процессе шаманства мне очень помогла эта статья - весь приведённый ниже алгоритм, по сути, является её вольным переводом.

Алгоритм

0. Если Thunderbird запущен, закрываем его - при завершении работы он перезаписывает конфиг, что автоматически уничтожит все внесённые в него в это время изменения.

1. Открываем файл $user_home/.thunderbird/$profile_id/prefs.js (это в *nix, под Windows файл обычно лежит в C:\Users\$user_name\App Data\Roaming\Thunderbird\Profiles\$profile_id\prefs.js).

2. Находим строчку, в которой задаётся атрибут mail.accountmanager.accounts - именно её нам и надо исправить. Проблема в том, что она выглядит примерно так:

user_pref("mail.accountmanager.accounts", "account1,account2,account3,account5,account6,account4,account7");

Здесь "account1...accountN" - это какие-то почтовые аккаунты, но какие конкретно, из этой строчки непонятно. Поэтому, сохраняем / записываем / запоминаем этот порядок и идём искать дальше, какая строка с каким аккаунтом связана.

3. Для каждого аккаунта находим строчку следующего вида:

user_pref("mail.account.account1.identities", "id1");

Тут аккаунт привязывается к некоему идентификатору. Причём какой-либо логики в порядковых номерах связываемых тут друг с другом аккаунтов и идентификаторов я не нашёл - этот порядок может быть абсолютно любым. Для каждого аккаунта запоминаем / записываем эту строчку.

4. Для каждого идентификатора находим строчку следующего вида:

user_pref("mail.identity.id1.useremail", "user@example.com");

Из неё, наконец, становится понятно, с каким конкретно почтовым ящиком связан конкретный аккаунт Thunderbird. Этот адрес тоже сохраняем / записываем.

5. В итоге, для каждого почтового ящика у нас получается строка вида "accountX -> idY -> user@example.com". Теперь мы понимаем, что тот аккаунт, который мы хотим переместить выше - это account7, а те аккаунты, которые после этого должны оказаться ниже него - это account6 и account4. Вносим в файл соответствующие изменения:

user_pref("mail.accountmanager.accounts", "account1,account2,account3,account5,account7,account6,account4");

Сохраняем файл, перезапускаем Thunderbird, проверяем:

Всё получилось - аккаунт переместился выше.

Ура, получилось!

Коротко о себе:

Работаю ведущим программистом в компании Tune IT и ассистентом кафедры Вычислительной техники в Университете ИТМО .

Занимаюсь проектами, связанными с разработкой разного рода веб-приложений (порталы, CRM-системы, системы электронного документооборота), а также, в рамках научной работы на кафедре, изучаю возможности применения семантического анализа в задачах САПР.