Установка Imapsync на Ubuntu 20.04 & Debian 10 Buster

# Устанавливаем необходимые пакеты зависимостей.

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

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

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

cd /opt/ 
git clone https://github.com/imapsync/imapsync.git
cd imapsync/

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

make
make testp
make install

# Можно проверить работоспособность установленного пакета командой.

imapsync --testslive

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

imapsync \
--host1 imap.source.example.com \
--user1 user@example.com \
--password1 S0urcePassw0rd \
--ssl1 \
--host2 imap.dest.example.com \
--user2 user@example.com \
--password2 Dest1nat10NPassw0rd \
--ssl2

 

Пример использования Imapsync

# Ниже описание переноса почтовых ящиков с Exchange Online (office365) на Zimbra Colloboration Suit.

Перед тем как выполнять перенос почтовых ящиков с Exchange Online на Zimbra, рекомендую предварительно на стороне Zimbra увеличить значение максимального вложения до 100Mb, т.к. по-умолчанию Exchange Online имеет такое значение и во избежание конфликтов и ошибок в ходе миграции выставляем значение аналогичное.

sudo su - zimbra -c "zmprov modifyConfig zimbraMtaMaxMessageSize 102400000"
sudo su - zimbra -c "postfix reload"
imapsync  \
--host1 outlook.office365.com \
--user1 user@example.com \
--authuser1 admin@example.com \
--password1 Passw0rd \
--host2 10.0.13.104 \
--user2 user@example.com \
--authuser2 admin@example.com \
--password2 Passw0rd \
--automap \
--addheader \
--useheader "Message-ID" \
--skipsize \
--syncinternaldates \
--nosyncacls \
--usecache \
--nofoldersizes \
--regextrans2 's,\",,g' \
--exclude '&BBYEQwRABD0EMAQ7-|&BBYEQwRABD0EMAQ7- &BDEENQRBBDUENA-|&BBcEMAQ0BDAERwQ4-|&BBcEMAQ8BDUEQgQ6BDg-|&BBgEQQRFBD4ENARPBEkEOAQ1-|&BBoEMAQ7BDUEPQQ0BDAEQARM-|&BBoEMAQ7BDUEPQQ0BDAEQARM-/&BBQEPQQ4- &BEAEPgQ2BDQENQQ9BDgETw-|&BBoEMAQ7BDUEPQQ0BDAEQARM-/&BD8EQAQwBDcENAQ9BDgEOgQ4- &BCAEPgRBBEEEOARP-|&BBoEPgQ9BEIEMAQ6BEIESw-|Calendar|Contacts|Conversation History|Journal|Notes|Tasks'

Небольшое разъяснение. Для того чтобы мигрировать все почтовые ящики с Exchange Online на Zimbra, необходимо на обоих почтовых серверах создать спец. учетную запись которая будет иметь возможность читать почту ЛЮБОГО ящика находящегося на обоих почтовых серверах. Это нужно для того чтобы не просить у пользователей пароль от их аккаунтов и чтобы для них все было максимально не заметно и прозрачно. Обозначается в команде это все ключами «authuser1» и «authuser2«.

Так же из важного я хочу отметить что я указываю исключающие из миграции такие папки как:

[&BB0ENQQ2BDUEOwQwBEIENQQ7BEwEPQQwBE8- &BD8EPgRHBEIEMA-] = [Нежелательная почта]
[&BB4ESAQ4BDEEOgQ4- &BEEEOAQ9BEUEQAQ+BD0EOAQ3BDAERgQ4BDg-] = [Ошибки синхронизации]
[&BB4ESAQ4BDEEOgQ4- &BEEEOAQ9BEUEQAQ+BD0EOAQ3BDAERgQ4BDg-/&BB4ESAQ4BDEEOgQ4- &BEEENQRABDIENQRABDA-] = [Ошибки синхронизации/Ошибки сервера]
[&BB4ESAQ4BDEEOgQ4- &BEEEOAQ9BEUEQAQ+BD0EOAQ3BDAERgQ4BDg-/&BBoEPgQ9BEQEOwQ4BDoEQgRL-] = [Ошибки синхронизации/Конфликты]
[&BB4ESAQ4BDEEOgQ4- &BEEEOAQ9BEUEQAQ+BD0EOAQ3BDAERgQ4BDg-/&BBsEPgQ6BDAEOwRMBD0ESwQ1- &BD4ESAQ4BDEEOgQ4-] = [Ошибки синхронизации/Локальные ошибки]
[&BBAEQARFBDgEMg-] = [Архив]
[&BBYEQwRABD0EMAQ7-] = [Журнал]
[&BBYEQwRABD0EMAQ7- &BDEENQRBBDUENA-] = [Журнал бесед]
[&BBcEMAQ0BDAERwQ4-] = [Задачи]
[&BBcEMAQ8BDUEQgQ6BDg-] = [Заметки]
[&BBoEMAQ7BDUEPQQ0BDAEQARM-] = [Календарь]
[&BBoEMAQ7BDUEPQQ0BDAEQARM-/&BBQEPQQ4- &BEAEPgQ2BDQENQQ9BDgETw-] = [Календарь/Дни рождения]
[&BBoEMAQ7BDUEPQQ0BDAEQARM-/&BD8EQAQwBDcENAQ9BDgEOgQ4- &BCAEPgRBBEEEOARP-] = [Календарь/праздники Россия]
ИНФОРМАЦИЯ. Данные обозначения могут отличаться у вас в зависимости от языка Exchange Online. Если у вас Eng. версия то необходимо вносить коррективы, в логе можно найти всю эту информацию как называются папки на вашем Exchange Online.
ИНФОРМАЦИЯ. Так же хочу заметить что в некоторых случаях пользователи именую свои папки со спец символами (прим. используют скобки — «) и из за этого на другой стороне может не корректно воспринято такое название папки и она будет в итоге проигнорирована в синхронизации, т.к. не будет создана на конечной стороне из за спец символов в имени. Чтобы этого избежать нужно использовать правило замены таких символов в именовании папок —regextrans2.

 

Полное описание можно найти на оф. репозитарии пакета.

https://github.com/imapsync/imapsync
 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

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

четырнадцать + 7 =