[Из песочницы] IMAPSync. Перенос почты между серверами

Сервер источника, логин ящика, пароль ящика:

--host1 mx.example.ru --user1 user --password1 "Pass123"

Сервер назначения, логин ящика, пароль ящика:

--host2 imap.yandex.ru --user2 user@example.biz --password2 "Pass123"

Использование SSL для сервера источника и назначения:

--ssl1 --ssl2

Игнорировать все заголовки в письме, кроме тех, что содержат «Message-Id». Этот параметр полезен в тех случаях, когда для одного письма на разных серверах генерируются разные заголовки, в моем случае они отличались. Яндекс для каждого письма добавлял одну дополнительную строчку, из-за чего письма дублировались при каждом последующем переносе почты. Если фильтровать заголовки по «Message-Id», то при каждом переносе почты, копируются только новые письма.

--skipheader "^(?!Message-Id)"

Автоматически определить и привязать папки на сервере источника к папкам на сервере назначения. Сама сравнивает названия и создает привязки, поддерживает папки с кириллицей в названиях. Inbox→ Входящие. Sent → Отправленные…

--automap

Удаляет из названия INBOX во всех папках назначения. В моем случае IDECO все папки называет начиная с INBOX (INBOX.Sent, INBOX.Drafts и т.п.). Чтобы не создавать двойные названия в сервере назначения для папок, которые были созданы пользователем вручную. Тут стоит заметить, что это еще зависит от сервера.

--regextrans2 "s/^INBOX\.(.+)/$1/"

Выполнять операции только для папок. Письма не переносятся.

--justfolders

Эмуляция выполнения. Будет показан весь план работ, но физически ничего не переносится. Удобно для тестирования.

--dry

© Habrahabr.ru