Діагностика

Що означають помилки, які ви побачите в журналі.

IMAP-сервери відповідають лаконічно і майже ніколи не пояснюють причину. Тут переклад найчастіших відповідей людською мовою — і що з кожною робити.

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

У дев’яти випадках із десяти пароль правильний, а проблема в іншому: не створено пароль застосунку, не увімкнено IMAP у налаштуваннях пошти, або логін вказано не в тому форматі. Яндекс вимагає обидві дії одразу і на будь-яку з них відповідає однаково, через що люди годинами перевіряють не той пароль.

Що зробити: створіть пароль застосунку (Gmail, Яндекс, iCloud — обов’язково), увімкніть IMAP у налаштуваннях скриньки, перевірте формат логіна: в iCloud лише частина до равлика, у cPanel навпаки повна адреса.
certificate verify failedСертифікат сервера не проходить перевірку

Звична історія на shared-хостингу: сертифікат виписано на ім’я сервера на кшталт srv142.hoster.net, а ви підключаєтеся за mail.вашдомен.ua. Саме з’єднання шифрується нормально, не сходиться лише ім’я. Другий варіант — сертифікат прострочений або самопідписаний.

Що зробити: у розширених налаштуваннях увімкніть приймання неперевіреного сертифіката, або підключіться за тим іменем, на яке сертифікат виписано. Перевірити можна так: 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 · без реєстрації