До основного вмісту

Перенесення пошти через imapsync: IMAP → IMAP без втрат

Міграція · 02.02.2025 · 4 хв читання
Ілюстрація до статті «Перенесення пошти через imapsync: IMAP → IMAP без втрат»

Порядок перенесення пошти через imapsync без втрати листів

imapsync хороший тим, що його можна запускати багаторазово: кожен повторний прогін докачує лише нові листи. Це перетворює разове перенесення на безпечний процес без жодного вікна простою для пошти, на відміну від ручного перетягування в поштовому клієнті.

  1. Створіть скриньки на новому сервері з тими самими логінами, але новими паролями.
  2. Запустіть перший прогін imapsync — він перенесе основний обсяг листів, поки MX ще вказує на старий сервер.
  3. Прожене imapsync ще раз перед самим перемиканням MX — він докопіює листи, що прийшли за час першого прогону.
  4. Перемкніть MX-запис на новий сервер.
  5. Запустіть 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
💡 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

Знак & в кінці команди запускає перенесення скриньки у фоні, а 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 для мапінгу тек

Відкат у разі проблем

  1. Не видаляйте скриньки на старому сервері щонайменше тиждень після перемикання MX.
  2. Якщо новий сервер працює нестабільно, поверніть старий MX-запис.
  3. Після повернення запустіть imapsync у зворотному напрямку, щоб забрати листи, які прийшли на новий сервер.

Коли imapsync не підходить

Для перенесення в Microsoft 365 або Google Workspace краще використовувати вбудовані інструменти міграції цих платформ — вони враховують квоти і ліміти API конкретного провайдера, яких звичайний IMAP-клієнт не бачить. imapsync добре працює між звичайними IMAP-серверами, але не замінює нативну міграцію в корпоративні поштові платформи.

Перевірка результату

  • Порівняйте кількість листів у теці «Вхідні» та «Надіслані» старої і нової скриньки.
  • Перевірте, що вкладення відкриваються, а не пошкоджені під час перенесення.
  • Надішліть тестовий лист на нову скриньку ззовні і переконайтеся, що він не потрапляє в спам.

⚠️ Не перемикайте MX-записи до завершення перенесення. Запускайте imapsync фінальний раз після зміни MX для синхронізації останніх листів. Загальний порядок зміни MX без простою — у статті перенесення email-пошти на новий хостинг, а безпечна зміна самої DNS-зони — у статті міграція DNS без простою.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці