Когда я рассказывал в цикле статей про CommuniGate Pro о том, какие есть методы миграции почтовых ящиков, то задавался вопросом – а есть ли еще какие-то методы? Потому что встроенная утилита syncIMAPMail работает только по не шифрованным подключениям, что не очень то и безопасно. На профильных обсуждениях я нашел упоминание про проект imapsync на GitHub. Поэтому в этой публикации я расскажу о том, как выполняется перенос почтовых ящиков через IMAPSync.
В целом вы можете либо собрать его из исходников, либо использовать RHEL base дистрибутив (RedHat, Fedora и т.д.) – там утилита imapsync уже есть в репозиториях. Я буду использовать Fedora 36.
Установка предварительных компонентов
Сначала установим утилиту IMAPSync из репозитория:
sudo dnf -y install imapsync
Проверим установилась ли утилита:
imapsync --version
Перенос почтовых язиков через IMAPSync
Теперь можем переходить непосредственно к процессу переноса почтовых ящиков. Тестовый сервер CommuniGate Pro у меня уже есть. На него я буду переносить один из почтовых ящиков с Яндекс почты.
Общий синтаксис использования утилиты следующий:
imapsync --host2 10.10.10.154 --user2 u9@itproblog.ru --password2 "Qwerty123" --host1 imap.yandex.ru --user1 someuser@yandex.ru --password1 "Qwerty123" --ssl1 --ssl2
Обратите внимание, что для доступа к почтовым ящикам на Яндекс почты вы должны использовать пароль приложений, а не пароль непосредственно учетной записи.
Для удобства разъяснения по параметрам я привожу табличку ниже.
Параметр | Описание | |
–host1 | Почтовый сервер источника (откуда копировать почту) | |
–user1 | Пользователь для подключения к исходному почтовому ящику | |
–password1 | Пароль пользователя для подключения к исходному почтовому ящику | |
–host2 | Почтовый сервер назначения (куда копировать почту) | |
–user2 | Пользователь для подключения к целевому почтовому ящику | |
–password2 | Пароль пользователя для подключения к целевому почтовому ящику | |
–ssl1 | Для подключения к исходному почтовому серверу нужно использовать SSL шифрованное подключение | |
–ssl2 | Для подключения к целевому почтовому серверу нужно использовать SSL шифрованное подключение |
Дождитесь окончания процесса копирования писем из исходного почтового ящика в целевой.
Скорость работы утилиты IMAPSync
Могу судить только по своему тестовому набору данных и скорости подключения к глобальной сети. В моем случае почтовый ящик размером 6.5 ГБ (чуть более 60 000 писем) с Яндекс почты на локальный сервер CommuniGate Pro мигрировал порядка 6 часов. По моим наблюдениям скорость миграции в большей части зависит от количества писем, чем от объема. Например в подопытном почтовом ящике 15 000 писем занимали порядка 6 ГБ. Все они скопировались примерно за 2,5 часа. Остальные 45 000 писем – это просто текстовые письма без картинов и вложений. Их время переноса заняло 3,5 часа. Если совсем грубо, то скорость копирования писем через утилиту IMAPSync составляет порядка 3 сообщений в секунду.
Особенности работы утилиты IMAPSync
Каких-то проблем в работе утилиты я не обнаружил. К особенностям я бы отнес следующее:
- Утилита IMAPSync не переносит контакты пользователя.
- Утилита IMAPSync не переносит содержимое календарей.