Перенос почты на zimbra с помощью imapsync

В этой статье вы узнаете как установить imapsync и перенести с помощью этой утилиты почту с вашего старого почтового сервера на сервер с Zimbra.

Данная статья так же подойдет для переноса между другими почтовыми серверами по протоколу imap. Для начала установим программу imapsync.

Установка imapsync в Centos 7

Пакет imapsync доступен в репозитории пакетов EPEL, поэтому сначала убедитесь, что вы добавили EPEL в свою систему и установите его, если еще не сделали этого.

yum install epel-release

Теперь установите пакет imapsync, используя следующую команду.

yum install imapsync

Установка imapsync в Centos 8 Stream

Imapsync не доступен из репозитория в Centos 8, поэтому его нужно собрать руками и запускать как скрипт ./imapsync [аргументы]

dnf install wget perl-App-cpanminus gcc perl-libwww-perl perl-IO-Socket-INET6
cpanm lazy Test::MockObject
wget https://imapsync.lamiral.info/imapsync
perl -Mlazy imapsync
chmod +x imapsync

Установка imapsync в Ubuntu

При использовании ОС Ubuntu установка imapsync происходит из исходников. Для начала установим необходимые зависимости для утилиты.

sudo apt-get install git rcs make makepasswd cpanminus
sudo apt-get install libauthen-ntlm-perl libclass-load-perl libcrypt-ssleay-perl liburi-perl libdata-uniqid-perl libdigest-hmac-perl libdist-checkconflicts-perl libfile-copy-recursive-perl libio-compress-perl libio-socket-inet6-per libio-socket-ssl-perl libio-tee-perl libmail-imapclient-perl libmodule-scandeps-perl libnet-ssleay-perl libpar-packer-perl libreadonly-perl libsys-meminfo-perl libterm-readkey-perl libtest-fatal-perl libtest-mock-guard-perl libtest-pod-perl libtest-requires-perl libtest-simple-perl libunicode-string-perl
sudo cpanm Mail::IMAPClient JSON::WebToken Test::MockObject
sudo cpanm Unicode::String Data::Uniqid

Теперь скачаем исходный код пакета и скомпилируем его.

git clone github.com/imapsync/imapsync.git
cd imapsync
mkdir -p dist
sudo make install

Как перенести почту на Zimbra

Для начала миграции мы подготовим сервер Zimbra и увеличим лимит на размер почтовых сообщений. Мы повысили лимит размера почтового сообщения до 100 Мб.

sudo su - zimbra -c "zmprov modifyConfig zimbraMtaMaxMessageSize 102400000"
sudo su - zimbra -c "postfix reload"

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

nano import.sh

Вставим в него следующее содержимое, пароли лучше указывать в ‘апострофах’.

#!/bin/bash
imapsync --nosyncacls --subscribe --syncinternaldates --fast \
--host1 mail.source-srv.ru --user1 yourAccount@domain-src.com --password1 'ВашПароль' --ssl1 \
--host2 mail.destination-srv.ru --user2 yourZimbraAccount@domain-dst.com --password2 'ВашПарольЗимбра' --ssl2
#повторяем эту команду для каждого пользователя

Сделаем файл исполняемым и запустим его.

chmod +x import.sh && ./import.sh

Небольшое пояснение по опциям утилиты imapsync.

host1 — это исходный сервер
host2 — это сервер назначения (Zimbra)
user1 — аккаунт на исходном сервере
user2 — аккаунт на сервере назначения (Zimbra)
password1 и —password2 — пароли от аккаунтов
ssl1 или —tls1 — включение поддержки ssl или tls
port1 — можно указать при использовании нестандартных портов

Установим ограничение на размер сообщений в 20 Мб.

sudo su - zimbra -c "zmprov modifyConfig zimbraMtaMaxMessageSize 20480000"
sudo su - zimbra -c "postfix reload"

Не забудьте удалить файл скрипта после импорта!

Узнайте как массово создать аккаунты на сервере Zimbra.

Источник wiki.zimbra.com

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