WordPress отправляет письма через функцию wp_mail, но на части хостингов такие сообщения попадают в спам или вообще не доходят. SMTP-подключение передаёт письма через авторизованный почтовый сервер и даёт понятный способ проверить доставку. Настройка занимает немного времени, если заранее подготовить адрес отправителя, пароль приложения и параметры порта.

Когда нужен SMTP
Если форма обратной связи сообщает об успешной отправке, но письмо не приходит, проблема часто связана с серверной отправкой. То же касается уведомлений о регистрации, восстановления пароля и комментариях. SMTP не исправит ошибку в самой форме, но поможет отделить сбой WordPress от ограничений хостинга.
Для маленького сайта достаточно одного проверенного ящика на собственном домене. Для большого проекта лучше использовать отдельный почтовый сервис с журналом доставки, ограничениями и понятными правилами SPF, DKIM и DMARC. Не используйте личный пароль от основного ящика, если провайдер позволяет создать пароль приложения.
Какие данные подготовить
- адрес отправителя и имя, которое увидит получатель;
- SMTP-сервер почтового провайдера;
- порт: чаще 587 для STARTTLS или 465 для SSL;
- тип шифрования;
- логин и пароль приложения;
- адрес для тестового письма.
Адрес отправителя должен совпадать с авторизованным ящиком или быть разрешённым псевдонимом. Если форма позволяет посетителю указать свой email в поле From, замените эту схему на фиксированный адрес отправителя и передавайте email посетителя в Reply-To. Так уменьшается риск подмены и проблем с SPF.
Настройка через плагин
Для большинства сайтов подходит плагин с мастером SMTP. Установите его из каталога WordPress, включите и откройте раздел настроек почты. Выберите провайдера или ручную конфигурацию, укажите сервер, порт и шифрование, затем сохраните параметры. Плагин не должен просить лишние разрешения, а его настройки должны быть доступны только администраторам.
После сохранения отправьте тестовое письмо. Проверьте не только входящие, но и папку «Спам», заголовки Received и адрес Reply-To. Если письмо не отправилось, сохраните текст ошибки: он помогает понять, неверен ли пароль, заблокирован ли порт или не совпадает имя сертификата.

Ручные поля SMTP
| Поле | Что указать | Типичная ошибка |
|---|---|---|
| Host | сервер SMTP провайдера | перепутан с POP3 или IMAP |
| Port | 587 или 465 по инструкции провайдера | порт не соответствует шифрованию |
| Encryption | STARTTLS или SSL | включён неподдерживаемый режим |
| Authentication | включена | сервер отклоняет анонимную отправку |
| Username | полный email | введено только имя до @ |
Не копируйте настройки случайного сервиса из статьи двухлетней давности. Порты и требования провайдеров меняются. Используйте документацию своего хостинга или почтовой системы, а пароль вводите непосредственно в админке.
Почему письма не доходят
Неверный пароль или запрет внешнего доступа
Провайдер может блокировать обычный пароль и требовать пароль приложения. Иногда SMTP доступ нужно включить в настройках ящика. Проверьте, что аккаунт не заблокирован после нескольких неудачных попыток.
Проблемы с DNS
SPF разрешает отправку от конкретных серверов, DKIM подписывает письмо, а DMARC задаёт политику проверки. Эти записи публикуются в DNS домена. После изменений DNS нужно дождаться обновления и проверить записи специальным сервисом или командой dig.
Форма работает, но письмо не создаётся
Проверьте обязательные поля, nonce, защиту от спама и журнал ошибок. Отправьте тест из SMTP-плагина и отдельное письмо из формы. Если тест проходит, ищите проблему в обработчике формы, а не в SMTP.
Безопасность
Ограничьте доступ к настройкам SMTP и не вставляйте пароль в публичный код темы. При переносе сайта удалите временные тестовые адреса и смените пароль приложения, если его видели посторонние. Резервная копия базы может содержать SMTP-настройки, поэтому храните её в защищённом месте.
Если сайт использует несколько форм, составьте таблицу: форма, адрес получателя, Reply-To, тема письма и дата последней проверки. Так проще обнаружить, что после обновления плагина одна форма перестала отправлять данные.
Проверка после обновлений
- отправьте тестовое письмо после обновления WordPress и SMTP-плагина;
- проверьте восстановление пароля и уведомление о комментарии;
- сравните адрес отправителя с SPF и DKIM;
- убедитесь, что сообщения приходят на разные почтовые сервисы;
- удалите тестовые записи из журнала, если они содержат персональные данные.
На этом сайте уже есть материалы о безопасном обновлении WordPress и проверке перед запуском. SMTP стоит включать в тот же контрольный список, а не проверять только после жалобы пользователя.
Итог
SMTP делает отправку писем WordPress предсказуемее, если правильно сопоставить сервер, порт, шифрование и адрес отправителя. Начните с тестового письма, затем проверьте форму и DNS-аутентификацию. Отдельный пароль приложения и закрытый доступ к настройкам сохранят безопасность сайта.
Что проверить в логах
Если письма не доходят, откройте журнал SMTP и запишите время попытки, код ответа сервера и получателя. Сообщение о неверной авторизации требует проверить логин и пароль, а тайм-аут указывает на порт, DNS или сетевое ограничение. Не публикуйте полный лог: в нём могут быть адреса пользователей и служебные заголовки.
После исправления отправьте несколько писем с разными темами и вложениями, если форма их поддерживает. Убедитесь, что на сайте не осталось тестового получателя и что уведомление не дублируется двумя плагинами. Два активных SMTP-решения часто создают непредсказуемый результат.
Ограничения массовой отправки
SMTP обычного почтового ящика не предназначен для рассылки большого количества писем. Лимиты провайдера, жалобы на спам и отсутствие отписки могут привести к блокировке. Для регулярных рассылок используйте специализированный сервис, а WordPress оставьте для транзакционных сообщений: заказов, заявок, паролей и уведомлений.
Регулярная проверка доставки после изменений заметно снижает риск пропущенных заявок.