Image

База знаний → Перенос и синхронизация почты через imapsync

[Виртуальные сервера]
Дата публикации: 08.06.2023

Иногда возникает задача перенести почтовые ящики на другой сервер. При большом количестве писем и вложенных папок существует утилита imapsync. Вы указываете параметры текущего ящика и параметры нового ящика, после чего она посчитает все письма и папки и начнет перенос писем. В нашем примере установка происходит на Debian 11.

1. Установка необходимых пакетов

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 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 libdist-checkconflicts-perl libpar-packer-perl libtest-fatal-perl libtest-modern-perl libtest-requires-perl libtest-mock-guard-perl libproc-processtable-perl make time cpanminus git

apt-get install apt-file -y apt-file update

2. Установка imapsync

cd /root 
git clone https://github.com/imapsync/imapsync.git
cd imapsync/
make
make install

3. Проверим работу утилиты:

imapsync --testslive

Пример рабочей команды переноса почтового ящика включая все папки и письма на новый сервер:

imapsync --host1 imap.yandex.ru --user1 myemail@domain.tld --password1 Passw0rd --host2 localhost --user2 myemail@domain.tld --password2 Passw0rd2 --automap --ssl2 --regextrans2 "s,/,X,g"

Команда предполагает запуск на новом сервере почты, поэтому в качестве второго сервера указан адрес localhost. По завершению переноса всех данных будет показан отчет о количестве перенесенных папок и писем. Также предполагается, что оба сервера имеют сертификат, о чем говорит параметр --ssl2.





Нет комментариев