Диагностика

Что означают ошибки, которые вы увидите в журнале.

IMAP-серверы отвечают лаконично и почти никогда не объясняют причину. Здесь перевод самых частых ответов на человеческий — и что с каждым делать.

NO [AUTHENTICATIONFAILED]Сервер не принял логин или пароль

В девяти случаях из десяти пароль правильный, а проблема в другом: не создан пароль приложения, не включён IMAP в настройках почты, либо логин указан не в том формате. Яндекс требует оба действия сразу и на любое из них отвечает одинаково, из-за чего люди часами проверяют не тот пароль.

Что сделать: создайте пароль приложения (Gmail, Яндекс, iCloud — обязательно), включите IMAP в настройках ящика, проверьте формат логина: у iCloud только часть до собаки, у cPanel наоборот полный адрес.
certificate verify failedСертификат сервера не проходит проверку

Обычная история на shared-хостинге: сертификат выписан на имя сервера вроде srv142.hoster.net, а вы подключаетесь по mail.вашдомен.ru. Само соединение шифруется нормально, не сходится только имя. Второй вариант — сертификат просрочен или самоподписанный.

Что сделать: в расширенных настройках включите приём непроверенного сертификата, либо подключитесь по тому имени, на которое сертификат выписан. Проверить можно так: openssl s_client -connect host:993 -servername host.
OVERQUOTA / Quota exceededВ новом ящике кончилось место

Перенос встал на середине, потому что 12 ГБ не помещаются в тариф на 5 ГБ. Худший вариант этой ошибки — когда квота кончается ночью и вы узнаёте об этом утром по наполовину перенесённому ящику.

Что сделать: замерьте объём до запуска (это первый шаг у нас и он бесплатный), сверьте с квотой назначения, при нехватке исключите Спам и Корзину — обычно это первые несколько гигабайт.
Too many simultaneous connectionsПровайдер режет число сессий

У Microsoft 365 лимит около 20 одновременных IMAP-сессий на ящик, у iCloud — заметно меньше. Попытка ускорить перенос параллельными потоками даёт обратный результат: сервер начинает рвать соединения, и повторов становится больше, чем полезной работы.

Что сделать: уменьшить параллелизм до одного-двух потоков и просто подождать. Мы по умолчанию идём папка за папкой именно поэтому.
Connection reset by peerСервер молча закрыл соединение

Классический троттлинг. Провайдер решил, что запросы идут слишком часто, и разорвал сессию без объяснений. У Gmail после особо агрессивной выгрузки IMAP может быть временно заблокирован на несколько часов.

Что сделать: перезапустить перенос — недостающее докопируется, дубли не появятся. Если обрывы повторяются, сделать паузу на несколько часов и снизить скорость.
CREATE failed: invalid folder nameИмя папки не принимается назначением

Обычно виноват разделитель уровней: Dovecot использует /, старые Courier-серверы — .. Из-за этого INBOX.Sent превращается либо в отдельную папку с точкой в имени, либо в подпапку — в зависимости от того, кто как понял.

Что сделать: включить автоматическое сопоставление имён — мы определяем разделитель на обеих сторонах и переписываем пути. Спецпапки вроде Junk и Спам сопоставляются по назначению, а не по названию.
message too largeПисьмо не влезло в лимит назначения

Microsoft 365 по умолчанию принимает письма до 35 МБ, другие провайдеры ставят свои границы. Письмо с крупным вложением просто пропускается — весь остальной перенос при этом идёт нормально.

Что сделать: ничего страшного не произошло, но такие письма попадают в итоговый отчёт списком. Их переносят вручную или сохраняют вложения отдельно.

Разбор по ошибкам

Ответ сервера и что с ним делать

NO [AUTHENTICATIONFAILED]Ошибка IMAP AUTHENTICATIONFAILED: что она значитСервер отвечает AUTHENTICATIONFAILED, хотя пароль верный. Разбираем три реальные причины: выключенный IMAP, пароль приложения и формат логина.certificate verify failedОшибка certificate verify failed при подключении по IMAPОшибка проверки сертификата при подключении по IMAP. Почему она возникает на shared-хостинге и как проверить сертификат через openssl s_client.NO [OVERQUOTA] Quota exceededOVERQUOTA: в новом ящике кончилось местоПеренос встал с ошибкой OVERQUOTA: в ящике назначения кончилось место. Как посчитать объём заранее и что исключить, чтобы влезть.Too many simultaneous connectionsToo many simultaneous connections: провайдер режет сессииПровайдер режет число одновременных IMAP-сессий. Почему увеличение потоков замедляет перенос и какие лимиты у Microsoft 365 и iCloud.Connection reset by peerConnection reset by peer: сервер закрыл соединение молчаСервер молча закрывает соединение во время переноса. Это троттлинг провайдера: почему он срабатывает и как безопасно продолжить перенос.CREATE failed: invalid folder nameCREATE failed: назначение не принимает имя папкиНазначение не принимает имя папки. Причина почти всегда в разделителе уровней: Dovecot использует слэш, старые Courier-серверы — точку.message too largemessage too large: письмо не влезло в лимит назначенияПисьмо не влезло в лимит размера на стороне назначения. Какие лимиты у провайдеров и что делать с пропущенными письмами.

Узнайте объём своего ящика. Это ничего не стоит.

Подключите два сервера, посмотрите размер и решайте. Или заберите клиент и держите всё у себя.

Код на GitHub · на базе imapsync · без регистрации