Миграция на Zimbra с постороннего почтовика

Автор | 26.02.2015

Для переноса почты с постороннего почтового провайдера к которому у вас нет доступа по ssh, можно использовать Perl утилиту imapsync
Сначала подготовим пакеты

apt-get install makepasswd rcs perl-doc libio-tee-perl git libmail-imapclient-perl libdigest-md5-file-perl libterm-readkey-perl libfile-copy-recursive-perl build-essential make automake libunicode-string-perl libio-socket-ip-perl ibio-tee-perl

Для пущей убедительности можно поставит необходимые пакеты через CPAN

  perl -MCPAN -e "install Mail::IMAPClient"
  perl -MCPAN -e "install Term::ReadKey"
  perl -MCPAN -e "install IO::Socket::SSL"
  perl -MCPAN -e "install Digest::HMAC_MD5"
  perl -MCPAN -e "install URI::Escape"
  perl -MCPAN -e "install File::Copy::Recursive"
  perl -MCPAN -e "install IO::Tee"
  perl -MCPAN -e "install Unicode::String"
  perl -MCPAN -e "install Data::Uniqid"
  perl -MCPAN -e "install Authen::NTLM"

Клонируем репозиторий imapsync

git clone git://github.com/imapsync/imapsync.git

Запускаем установщик

cd imapsync
mkdir dist
sudo make install

Смотрим, что получилось

# imapsync -v
1.607

Запускаем процес переноса почты с одного сервера на другой

imapsync --host1 server1 -user1 user@server1 --password1 user1password --ssl1  --host2 server2 --user2 user@server2 --password2 user2password --ssl2

Из полезного:
можно исключить синхронизация некоторых папок доп. ключем

--exclude '^Junk\ E-Mail'
--exclude '^Deleted\ Items'

Ограничить кол-во запросов писем

--split1 100 --split2 100

Не сравнить размер писем на двух серверах

--allowsizemismatch

Пишут, что этот ключ помогает если очень большие ящики

--useheader Message-ID

Результат работы скрипта:

++++ Statistics
Transfer started on               : Thu Feb 26 16:08:53 2015
Transfer ended on                 : Thu Feb 26 16:18:25 2015
Transfer time                     : 572.5 sec
Messages transferred              : 1823
Messages skipped                  : 573
Messages found duplicate on host1 : 0
Messages found duplicate on host2 : 11
Messages void (noheader) on host1 : 0
Messages void (noheader) on host2 : 0
Messages deleted on host1         : 0
Messages deleted on host2         : 0
Total bytes transferred           : 103844267 (99.034 MiB)
Total bytes duplicate host1       : 0 (0.000 KiB)
Total bytes duplicate host2       : 3215439 (3.066 MiB)
Total bytes skipped               : 166339343 (158.634 MiB)
Total bytes error                 : 66975382 (63.873 MiB)
Message rate                      : 3.2 messages/s
Average bandwidth rate            : 177.1 KiB/s
Reconnections to host1            : 0
Reconnections to host2            : 0
Memory consumption                : 311.9 MiB
Biggest message                   : 22268713 bytes
Initial difference host2 - host1  : -1441 messages, -3810091 bytes (-3.634 MiB)
Final   difference host2 - host1  : 380 messages, 100030535 bytes (95.397 MiB)
Detected 4 errors

Залишити відповідь