2024-05-16

Условия провайдеров почтовых услуг меняется и зачастую компании хотят сменить почтарь, в том числе на локально установленный. Одновременно с этим встает вопрос переноса почтовых ящиков пользователей для сохранения зачастую уникальной информации

Если оба почтовых ящика доступны для подключения по  IMAP (порты 143, 993), то перезалить письма крайне несложно

Рассмотрим на примере Ubuntu 20.04, для других версий ощутимо отличаться не будет

Подключаемся через SSH обновляем репозиторий и устанавливаем нужные зависимости

sudo apt update

sudo apt install \

 libauthen-ntlm-perl \

 libcgi-pm-perl \

 libcrypt-openssl-rsa-perl \

 libdata-uniqid-perl \

 libencode-imaputf7-perl \

 libfile-copy-recursive-perl \

 libfile-tail-perl \

 libio-socket-inet6-perl \

 libio-socket-ssl-perl \

 libio-tee-perl \

 libhtml-parser-perl \

 libjson-webtoken-perl \

 libmail-imapclient-perl \

 libparse-recdescent-perl \

 libproc-processtable-perl \

 libmodule-scandeps-perl \

 libreadonly-perl \

 libregexp-common-perl \

 libsys-meminfo-perl \

 libterm-readkey-perl \

 libtest-mockobject-perl \

 libtest-pod-perl \

 libunicode-string-perl \

 liburi-perl \

 libwww-perl \

 libtest-nowarnings-perl \

 libtest-deep-perl \

 libtest-warn-perl \

 make \

 time \

 cpanminus

Перейдем в домашнюю директорию

cd

Скачаем программу синхронизации

wget https://imaxis.ru/imapsync

 Затем дадим права на запуск

chmod +x imapsync

 

Настройка на этом завершена

Далее редактируем команду на запуск в соответствии со своими настройками, например, для переноса с mail.nic.ru на локально установленный iredmail будет следующим

./imapsync \

 –host1 mail.nic.ru \

 –user1 info@yourdomen1.ru \

 –password1 “ThisYourPassword” \

 –host2 mail.imaxis.ru \

 –user2 ofni@imaxis.ru \

 –password2 “ThisYourPassword”

Копируем в командную строку, нажимаем Enter и перенос писем запустится

По мере использования imapsync заметил особенность

Если пароль содержит знак $,  то утилита не сможет аутентифицироваться на сервере с ошибкой

Exiting with return value 161 (EXIT_AUTHENTICATION_FAILURE_USER №)

Также возможны проблемы с другими символами, например открытая скобка “(“

Несколько дополнений

1. Переносить письма можно в почтовые ящики с разными названиями и доменами

2. Учитывайте выделенную квоту в целевом почтовом ящике

3. Перенос занимаем время, зависит он от количества и объема писем, в среднем 1 гб писем занимает 10-15 минут

4. Метод позволяет переносить пулами почтовых ящиков

5. На официальном сайте описано множество атрибутов для уточнения или выборки переноса, приведу несколько наиболее используемых 

Для исключения следует использовать опцию –exclude. Скажем, уберем из синхронизации папку Исходящие:

–exclude ‘Sent’

Если вам нужно явно указать соответствие папок, то добавьте опцию:

–f1f2   Outbox=Sent

В данном случае мы указываем, что содержимое папки Outbox ящика-источника следует поместить в папку Sent ящика-приемника.

Еще одной полезной опцией является указание возраста писем, допустим мы хотим перенести корреспонденцию только за текущий год, не проблема, указываем:

–maxage 365

В итоге будут синхронизированы только письма не старше 365 дней.

А что делать с остальными? А можно перенести их в другой, архивный ящик, в этом нам поможет другая опция:

–minage 365

Теперь мы перенесем только письма с возрастом старше одного года.

Также эти опции можно комбинировать, они сочетаются по принципу И:

–maxage 730 –minage 365

Такая конструкция перенесет письма только за прошлый год (не старше двух лет и не моложе года).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *