Яндекс хочет денег за бесплатную почту — помашем ему ручкой. Свой e-mail сервер и как не потерять письма при переносе.

Часть первая — Imapsync

  1. Устанавливаем необходимые пакеты и зависимости:
a) 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 -y

b) apt-get install apt-file -y
c) apt-file update

Руками ничего набивать не надо — копируем и вставляем в сессию SSH. По порядку — a), b) и затем c)

Скачиваем исходник пакета Imapsync.

a) cd /opt/
b) git clone https://github.com/imapsync/imapsync.git
c) cd imapsync/

Собираем и устанавливаем собственно сам пакет Imapsync

a) make
b) make testp
c) make install

Вводите по строчке — почему-то не всегда срабатывает, если вставить все три сразу.

Можно сразу проверить работоспособность пакета следующей командой:

imapsync --testslive

Если всё сделали правильно, то увидите нечто подобное:

Тест прошёл без ошибок, можно приступить к синхронизации:
imapsync  --host1 imap.yandex.ru --user1 login@test1.ru --password1 qwerty1 --host2 mail.testdomain.ru --user2 login@test2.ru --password2 qwerty2 

где:
imap. yandex. ru — имя сервера imap, откуда мы будем забирать почту.
login@test1.ru —имя переносимого ящика, qwerty1 пароль от этого ящика.
mail.testdomain.ru имя сервера imap, куда мы будем переносить почту.
login@test2.ru —имя ящика куда будем переносить почту, qwerty2 пароль от этого ящика.

PS: Перед миграцией убедитесь, что на обеих учетных записях запущен IMAP и они доступны из вашей системы.

Для переноса почты списком используем bash-скипт. Для этого создаем файл:

nano transfermail.sh

и наполняем его:

#!/bin/bash { while IFS=’;’ read h1 u1 p1 h2 u2 p2 fake do imapsync —host1 «$h1» —user1 «$u1» —password1 «$p1» \ —host2 «$h2» —user2 «$u2» —password2 «$p2» «$@» done } < file.txt

Делаем его исполняемым:

chmod 755 transfermail.sh

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

host1;user1_1;password11_1;host2;user2_1;password2_1; host1;user1_2;password11_2;host2;user2_2;password2_2; host1;user1_3;password11_3;host2;user2_3;password2_3; host1;user1_4;password11_4;host2;user2_4;password2_4;

где user_N и password_N имена реальных почтовых ящиков и паролей;

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

После того, как файл источника готов, выполняем скрипт:

./transfermail.sh

Перенос почты на новую платформу может занимать до нескольких дней, зависит не столько от объёма, как от количества писем. Почему? Яндекс отдает 2,5 письма в секунду или около того.
В результате получаем почтовую систему (как поднять почтовый сервер — об этом чуть позже) для всех ваших почтовых ящиков.

Оставьте комментарий

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