SMTP Яндекса не работает: почему письма с сайта не уходят

Если сайт перестал отправлять письма через smtp.yandex.ru, причина почти всегда в одном из пяти мест: обычный пароль вместо пароля приложения, выключен доступ почтовых программ, неверная пара «порт — шифрование», адрес отправителя не совпадает с ящиком, под которым идёт вход, или хостинг закрыл исходящие соединения на почтовые порты. Найти нужное место быстрее всего по тексту ошибки в журнале сайта. Ниже — таблица ошибок, проверка по шагам и то, что делать, если заявки уже потерялись.
Сначала найдите текст ошибки
Форма на сайте почти всегда пишет «Спасибо, заявка отправлена», даже если письмо не ушло. Поэтому смотреть нужно не на форму, а в журнал: лог почтового плагина в WordPress, журнал ошибок PHP, лог приложения или вывод библиотеки отправки (PHPMailer, Nodemailer, Symfony Mailer) в режиме отладки. Нужна строка с ответом сервера — трёхзначный код и текст после него.
| Что в журнале | Где проблема | Что делать |
|---|---|---|
| 535 5.7.8 Error: authentication failed: Invalid user or password | Логин или пароль | Создать пароль приложения для почты и указать его вместо пароля от аккаунта |
| 535 5.7.8 ... This user does not have access rights to this service | Доступ почтовых программ выключен | В настройках почты разрешить доступ с помощью почтовых клиентов |
| 553 5.7.1 Sender address rejected: not owned by auth user | Отправитель не совпадает с ящиком | В поле From указать тот же адрес, под которым идёт вход |
| Connection timed out, Network is unreachable | Сеть до сервера | Хостинг закрыл исходящие порты 465/587 или неверный адрес сервера |
| Connection refused | Порт закрыт или неверен | Проверить порт и разрешения файрвола |
| SSL routines ... wrong version number | Перепутано шифрование | 465 — SSL/TLS сразу, 587 — STARTTLS |
| 554 5.7.1 Message rejected under suspicion of SPAM | Содержимое или поток писем | Проверить текст, ссылки, частоту отправки и записи домена |
Коды 4xx — временный отказ, сервер просит повторить позже. Коды 5xx — постоянный, повтор с теми же параметрами не поможет. Подробнее о смысле кодов — в разборе «Письмо отклонено: что означают 4.x.x и 5.x.x».

Правильные настройки SMTP Яндекса
Для ящика на Яндекс Почте или в Яндекс 360 для бизнеса настройки такие:
- сервер: smtp.yandex.ru;
- порт 465 с шифрованием SSL/TLS или порт 587 с STARTTLS;
- логин — полный адрес ящика, например zayavki@vash-domen.ru;
- пароль — пароль приложения для почты, а не пароль от аккаунта;
- адрес отправителя (From) — тот же ящик, что и логин.
Пароль приложения создаётся в управлении аккаунтом Яндекс ID, в разделе паролей приложений. Если у аккаунта включена двухфакторная защита, обычный пароль для почтовых программ не подойдёт вообще. Порядок описан в справке Яндекс ID о паролях приложений. Доступ по протоколам включается в настройках почты, раздел «Почтовые программы».
Проверка по шагам
- Отправьте тестовую заявку и сразу откройте журнал. Запишите точный текст ответа сервера.
- Если ошибка 535 — создайте новый пароль приложения, вставьте его без пробелов и проверьте, что логин указан полным адресом.
- Если 553 — приведите поле From к адресу ящика. Имя отправителя менять можно, адрес — нет.
- Если таймаут — проверьте с сервера сайта, открывается ли соединение: команда openssl s_client -connect smtp.yandex.ru:465 должна показать сертификат. Если соединение висит, порт закрыт на стороне хостинга.
- Если хостинг закрыл порты — спросите у поддержки, через что разрешена отправка. Многие виртуальные хостинги и часть VPS-провайдеров блокируют исходящие 25, 465 и 587 против спама и открывают их по заявке либо предлагают свой почтовый шлюз.
- После исправления отправьте 3–4 тестовых письма на разные адреса: на Яндекс, Mail.ru и Gmail. Проверьте папку «Спам».
Пример настройки: WordPress и код
В WordPress отправку через SMTP обычно настраивают плагином для почты. В его настройках выбирают «Другой SMTP» и заполняют поля: хост smtp.yandex.ru, шифрование SSL и порт 465 (или TLS и 587), включённая аутентификация, логин — полный адрес ящика, пароль — пароль приложения. Поле «От кого» (From Email) ставят равным логину и включают принудительное использование этого адреса, чтобы формы и другие плагины не подставляли свой. После сохранения отправьте тестовое письмо из плагина: он покажет полный ответ сервера, если что-то не так.
Если сайт написан на PHP с PHPMailer, на Node.js с Nodemailer или на другом стеке, параметры те же: host, port, secure (true для 465, false с STARTTLS для 587), user, pass. Пароль храните в переменных окружения или в файле настроек вне публичной папки, а не в коде, который попадает в репозиторий. Для отладки включите подробный вывод SMTP-диалога только на время проверки — в нём видно каждую команду и ответ сервера.
Проверьте и таймауты. Если сервер Яндекса не ответил за 10–20 секунд, форма не должна висеть минуту: лучше сохранить заявку в базе, ответить посетителю и отправить письмо фоновой задачей с повтором. Тогда временные ошибки 4xx не превращаются в потерянную заявку.
Почему «вчера работало, а сегодня нет»
Самые частые сценарии, которые мы видим на поддержке:
- Сменили пароль от ящика. Пароли приложений при этом могут перестать действовать, если их отозвали вместе со сменой пароля. Создайте новый.
- Включили двухфакторную защиту. Обычный пароль для SMTP больше не принимается.
- Переехали на новый хостинг или VPS. На новом месте исходящие почтовые порты закрыты по умолчанию.
- Обновили плагин или CMS. Настройки SMTP сбросились, и сайт вернулся к встроенной функции mail(), письма от которой Яндекс и другие почтовики часто отклоняют или кладут в спам.
- Сменили домен или почтовый сервис. Ящик на старом домене больше не существует, а форма всё ещё пытается войти под ним.
Письма уходят, но попадают в спам
Это уже не ошибка SMTP, а репутация и подлинность домена. Проверьте три DNS-записи: SPF должен разрешать отправку через Яндекс, DKIM — быть включён в настройках домена в Яндекс 360, DMARC — существовать хотя бы в режиме мониторинга. Сгенерировать записи можно в нашем генераторе SPF, DKIM и DMARC, а подробности — в статье о защите почты компании.
Если сайт рассылает сотни писем в день — уведомления о заказах, письма регистрации, рассылки — обычный ящик для этого не предназначен, и почтовый сервис может ограничить отправку. Для такого потока нужен транзакционный почтовый сервис или собственный почтовый сервер с настроенной репутацией.
Как не терять заявки, пока почта не работает
Пока письма не уходят, заявки обычно не исчезают совсем: многие плагины форм сохраняют их в базе сайта. Выгрузите их за весь период поломки и обзвоните клиентов в тот же день — через неделю половина уже купит у конкурента.
Чтобы следующий сбой почты не прошёл незамеченным, настройте дубль каждой заявки в Telegram или сразу в CRM. Тогда если почта перестанет работать, менеджер всё равно получит обращение. Как проследить путь заявки от формы до CRM, разобрано в статье «Форма пишет “Заявка отправлена”, но в CRM пусто».
Если разбираться с журналами некогда, у нас есть срочный выезд на такую поломку: диагностика за 1–2 часа от 4 900 ₽, перенастройка отправки через SMTP — 4 900 ₽, выгрузка потерянных заявок — 3 900 ₽. Подробнее на странице «Не приходят заявки с сайта».
Материалы для проверки
Если нужна реализация
Состав работ зависит от текущего проекта и подтверждённой причины. Можно обсудить диагностику или разработку подходящего решения.
Вопросы и ответы
Какой порт использовать для smtp.yandex.ru — 465 или 587?
Оба рабочие. На 465 шифрование SSL/TLS включается сразу при подключении, на 587 соединение начинается открытым и переключается командой STARTTLS. Ошибка «wrong version number» почти всегда значит, что порт и тип шифрования перепутаны.
Почему Яндекс пишет «authentication failed», если пароль правильный?
Для почтовых программ и сайтов нужен пароль приложения, а не пароль от аккаунта. Ещё одна причина — выключен доступ почтовых клиентов в настройках почты. Логин указывается полным адресом ящика.
Можно ли отправлять письма с адреса info@, а входить под noreply@?
Нет. Яндекс отклонит письмо с ошибкой 553 «not owned by auth user». Адрес в поле From должен совпадать с ящиком, под которым сайт входит на сервер.
Хостинг блокирует порты 465 и 587, что делать?
Спросите у поддержки хостинга, открывают ли они порты по заявке или предлагают свой почтовый шлюз. Если нет — отправку можно перевести на транзакционный почтовый сервис с HTTP API или вынести на сервер, где исходящая почта разрешена.
Сколько писем в день можно отправлять через ящик Яндекса?
У почтовых сервисов есть ограничения на объём и частоту отправки, и они меняются. Для уведомлений с небольшого сайта ящика хватает. Если писем сотни в день, используйте транзакционный почтовый сервис, а лимиты сверяйте со справкой Яндекс 360.