Сейчас я нахожусь в массовой миграции электронной почты в приложение Google (GMail). Я должен изменить все настройки сервера в каждом клиенте Thunderbird всех моих пользователей. У меня есть пароль администратора каждого компьютера, но не пароль пользователя, где находятся профили Thunderbird.

Существует ли способ отредактировать файл в профиле Thunderbird с помощью прав администратора и изменить настройки SMTP-IMAP-POP3 учетных записей пользователей? Отредактируйте или выполните команду или замените файл.

1 ответ1

2

Есть способ, хотя для этого нужно лишь немного знания JavaScript. Ты должен:

  1. Примените два файла конфигурации внутри установочного каталога
  2. Используйте их для изменения глобальной конфигурации, применяемой ко всем пользователям

Теперь вкратце:

Шаг 1: Настройка общего файла определения конфигурации

Перейдите в папку программы Thunderbird (т.е. %ProgramFiles%\Mozilla Thunderbird) и создайте файл: defaults\pref\local-settings.js

Добавьте следующий контент:

pref("general.config.obscure_value", 0);
pref("general.config.filename", "mozilla.cfg");

Это скажет Thunderbird использовать файл %ProgramFiles%\Mozilla Thunderbird\mozilla.cfg в качестве шаблона конфигурации.

Шаг 2: Настройка почтовых ящиков

Теперь в mozilla.cfg вы должны определить настройки почтового ящика. По сути, вы будете работать с переменными конфигурации Mozilla - то же самое, что вы видите при вводе about:config в адресной строке Firefox или при запуске редактора настроек в Thunderbird.

С помощью этого файла и следующих функций вы можете влиять на конфигурацию Thunderbird глобально (то есть для каждого пользователя, запускающего Thunderbird из одного и того же места установки). Функции:

  • defaultPref( PrefName, Value ) - устанавливает значение по умолчанию (пользователь может перезаписать его)
  • lockPref( PrefName, Value ) - устанавливает конкретное значение (пользователь не может его перезаписать)
  • pref( PrefName, Value) - форсирует конкретное значение (пользователь может перезаписывать на время сеанса)

Вы также можете прочитать любой преф:

  • getPref( PrefName ) - читает значение

У вас есть почти полная возможность JavaScript. Конфигурация сервера хранится в дереве mail.server.<servername>.* .

Вы не знаете компонент <servername> . Это значение равно server# , где # - последовательный номер, назначенный при создании, хотя вы не знаете, в каком порядке пользователь создал свои учетные записи и не удалил ли он ни одну из своих учетных записей.

Но, используя javascript, вы можете найти правильное <servername> :

  1. Цикл по всем значениям, хранящимся в переменной mail.accountmanager.accounts (он содержит разделенный запятыми список всех учетных записей, таких как: account1,account10,account3,account7,account2)
  2. Для каждой учетной записи проверьте, хотите ли вы исправить эту учетную запись (используя один из подпараметров, например: mail.server.<servername>.hostname)
  3. Как только вы найдете правильное <servername> , измените его конфигурацию по желанию.

Образец кода

Это простой алгоритм для mozilla.cfg вы можете использовать для начала:

var allServersString = getPref( "mail.accountmanager.accounts" );
var i, serverName, myServerConfig, allServers = allServersString.split(",");

// For each account...
for ( i = 0; i < allServers.length; i++ ) {

    // Get account number
    serverName = "server" + allServers[i].substr(7);

    // If hostname of account matches our hostname, we found our `servername`
    if ( getPref( "mail.server." + serverName + ".hostname" ) == "imap.myOldServer.com" )
        myServerConfig = "mail.server." + serverName;

}

// Change parameters at your discretion...
pref( "aaa." + myServerConfig + ".hostname", "imap.myNewServer.com" );
// ...

Заметки

  • Возможно, вам придется немного поэкспериментировать с выбором правильной функции pref/lockPref , которая наилучшим образом соответствует вашим потребностям
  • Вам придется сделать то же самое для SMTP-серверов, но это немного сложнее. Как только вы узнаете правильное <servername> вам нужно использовать # из <servername> , затем получить список идентификаторов идентификаторов idXXX из mail.account.account#.identities и изменить параметры каждого идентификатора, назначенного учетной записи (хранится в mail.identity.idXXX.* . Вуаля! :D

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .