Установка imapsync
# Ubuntu/Debian
apt install imapsync -y
# Проверка версии
imapsync --version
Базовый перенос почтового ящика
imapsync --host1 mail.oldserver.com --user1 user@oldserver.com --password1 "old_pass" --host2 mail.newserver.com --user2 user@newserver.com --password2 "new_pass" --ssl1 --ssl2 --exclude "Trash" --nofoldersizes
💡 imapsync можно запустить несколько раз — повторная синхронизация перенесёт только новые письма. Идеально для zero-downtime миграции.
Пакетный перенос нескольких ящиков
#!/bin/bash
# accounts.txt: user1@old.com:pass1:user1@new.com:pass2
while IFS=: read -r user1 pass1 user2 pass2; do
imapsync --host1 mail.old.com --user1 "$user1" --password1 "$pass1" --host2 mail.new.com --user2 "$user2" --password2 "$pass2" --ssl1 --ssl2 --nofoldersizes &
done < accounts.txt
wait
Типичные ошибки
| Ошибка | Решение |
|---|---|
| SSL certificate error | Добавьте --nossl1 или --tls1 |
| AUTHENTICATE failed | Проверьте пароль, включите IMAP в настройках |
| Connection timeout | Добавьте --timeout 60 |
| Folder not found | Используйте --f1f2 для маппинга папок |
⚠️ Не переключайте MX-записи до завершения переноса. Запускайте imapsync финальный раз после смены MX для синхронизации последних писем.