Порядок перенесення пошти через imapsync без втрати листів
imapsync хороший тим, що його можна запускати багаторазово: кожен повторний прогін докачує лише нові листи. Це перетворює разове перенесення на безпечний процес без жодного вікна простою для пошти, на відміну від ручного перетягування в поштовому клієнті.
- Створіть скриньки на новому сервері з тими самими логінами, але новими паролями.
- Запустіть перший прогін
imapsync— він перенесе основний обсяг листів, поки MX ще вказує на старий сервер. - Прожене
imapsyncще раз перед самим перемиканням MX — він докопіює листи, що прийшли за час першого прогону. - Перемкніть MX-запис на новий сервер.
- Запустіть
imapsyncфінальний раз через добу після перемикання — забере листи, що прийшли на старий сервер через не оновлений у частини провайдерів DNS-кеш.
Встановлення 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
Пакетне перенесення кількох скриньок
#!/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
Знак & в кінці команди запускає перенесення скриньки у фоні, а wait чекає завершення всіх фонових процесів — так десятки скриньок переносяться паралельно, а не по черзі.
Порівняння режимів запуску
| Режим | Швидкість | Коли використовувати |
|---|---|---|
| Одна скринька, послідовно | низька | 1–5 скриньок, тестовий прогін |
| Пакетний запуск з & і wait | висока, обмежена мережею | десятки і сотні скриньок |
| З прапорцем --maxbytesaftersync | середня, точний контроль | обмежений канал, потрібне дозоване перенесення |
Корисні прапорці для реального перенесення
| Прапорець | Що робить |
|---|---|
| --dry | Показує, що буде перенесено, без реального запису листів |
| --delete2duplicates | Прибирає дублікати на приймачі перед повторним прогоном |
| --useuid | Зберігає вихідні UID листів замість генерації нових |
| --log | Пише детальний лог перенесення у файл для розбору помилок |
Перед першим реальним прогоном на проді варто один раз виконати перенесення з прапорцем --dry — він покаже, скільки листів і тек буде скопійовано, без жодного реального запису на новому сервері. Це дає змогу заздалегідь оцінити час повного перенесення за кількістю листів у виводі.
Перевірка до перемикання MX
Підключіть нову скриньку в поштовому клієнті як окремий обліковий запис напряму за адресою нового сервера, минаючи MX-запис домену:
# Ручне підключення до нового сервера для перевірки
Сервер: mail.newserver.com
Порт: 993 (IMAP/SSL)
Логін: user@oldserver.com
Порівняйте кількість листів і структуру тек з оригінальною скринькою — вони мають збігатися після кожного прогону imapsync.
Типові помилки
| Помилка | Рішення |
|---|---|
| SSL certificate error | Додайте --nossl1 або --tls1 |
| AUTHENTICATE failed | Перевірте пароль, увімкніть IMAP у налаштуваннях |
| Connection timeout | Додайте --timeout 60 |
| Folder not found | Використовуйте --f1f2 для мапінгу тек |
Відкат у разі проблем
- Не видаляйте скриньки на старому сервері щонайменше тиждень після перемикання MX.
- Якщо новий сервер працює нестабільно, поверніть старий MX-запис.
- Після повернення запустіть
imapsyncу зворотному напрямку, щоб забрати листи, які прийшли на новий сервер.
Коли imapsync не підходить
Для перенесення в Microsoft 365 або Google Workspace краще використовувати вбудовані інструменти міграції цих платформ — вони враховують квоти і ліміти API конкретного провайдера, яких звичайний IMAP-клієнт не бачить. imapsync добре працює між звичайними IMAP-серверами, але не замінює нативну міграцію в корпоративні поштові платформи.
Перевірка результату
- Порівняйте кількість листів у теці «Вхідні» та «Надіслані» старої і нової скриньки.
- Перевірте, що вкладення відкриваються, а не пошкоджені під час перенесення.
- Надішліть тестовий лист на нову скриньку ззовні і переконайтеся, що він не потрапляє в спам.
⚠️ Не перемикайте MX-записи до завершення перенесення. Запускайте imapsync фінальний раз після зміни MX для синхронізації останніх листів. Загальний порядок зміни MX без простою — у статті перенесення email-пошти на новий хостинг, а безпечна зміна самої DNS-зони — у статті міграція DNS без простою.