Диагностика IMAP
Ошибка IMAP AUTHENTICATIONFAILED: что она значит
Как выглядит в журнале
a1 NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)Сервер получил логин и пароль, но отказался пускать. Важно: это не всегда неверный пароль — тем же кодом отвечают на выключенный IMAP и на неправильный формат логина.
Причины, по убыванию вероятности
- Используется обычный пароль аккаунта там, где нужен пароль приложения. Так работают Gmail, Яндекс, iCloud, Mail.ru и Yahoo.
- IMAP не включён в настройках почтового ящика. У Gmail и Яндекса это отдельный переключатель, и без него доступ закрыт даже с верным паролем.
- Неверный формат логина: iCloud принимает только часть до собаки, обычный ящик Яндекса — тоже без домена, а cPanel и Gmail требуют полный адрес.
- У Microsoft 365 отключён basic authentication на уровне тенанта — нужен OAuth 2.0, паролем туда попасть уже нельзя.
- Администратор организации закрыл доступ сторонним приложениям (Google Workspace, Яндекс 360).
Что сделать
- Создайте пароль приложения в настройках безопасности аккаунта и вставьте его без пробелов.
- Включите IMAP: у Gmail — Настройки → Пересылка и POP/IMAP, у Яндекса — Почта → Настройки → Почтовые программы.
- Проверьте формат логина по гайду вашего провайдера — половина случаев именно здесь.
- Для Microsoft 365 переключитесь на OAuth 2.0: администратор тенанта даёт согласие один раз.
- Проверьте вручную: openssl s_client -connect imap.example.com:993 -crlf, затем a1 LOGIN user pass — увидите ответ сервера без посредников.
FAQ
Частые вопросы
Почему пароль точно верный, а сервер не пускает?
Потому что провайдеры отвечают одним кодом на три разные ситуации: неверный пароль, выключенный IMAP и запрет сторонних приложений. Начните с проверки IMAP — это самая частая причина.
Как понять, что дело именно в пароле приложения?
Если вход в веб-интерфейс с этим паролем работает, а IMAP — нет, значит нужен отдельный пароль приложения. Обычный пароль аккаунта современные провайдеры по IMAP не принимают.
Другие ошибки
Узнайте объём своего ящика. Это ничего не стоит.
Подключите два сервера, посмотрите размер и решайте. Или заберите клиент и держите всё у себя.
Код на GitHub · на базе imapsync · без регистрации