SMTP в WordPress: как настроить отправку писем и проверить форму

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

Настройки SMTP в WordPress
SMTP-параметры должны соответствовать почтовому сервису и адресу отправителя.

Когда нужен SMTP

Если форма обратной связи сообщает об успешной отправке, но письмо не приходит, проблема часто связана с серверной отправкой. То же касается уведомлений о регистрации, восстановления пароля и комментариях. SMTP не исправит ошибку в самой форме, но поможет отделить сбой WordPress от ограничений хостинга.

Для маленького сайта достаточно одного проверенного ящика на собственном домене. Для большого проекта лучше использовать отдельный почтовый сервис с журналом доставки, ограничениями и понятными правилами SPF, DKIM и DMARC. Не используйте личный пароль от основного ящика, если провайдер позволяет создать пароль приложения.

Какие данные подготовить

  • адрес отправителя и имя, которое увидит получатель;
  • SMTP-сервер почтового провайдера;
  • порт: чаще 587 для STARTTLS или 465 для SSL;
  • тип шифрования;
  • логин и пароль приложения;
  • адрес для тестового письма.

Адрес отправителя должен совпадать с авторизованным ящиком или быть разрешённым псевдонимом. Если форма позволяет посетителю указать свой email в поле From, замените эту схему на фиксированный адрес отправителя и передавайте email посетителя в Reply-To. Так уменьшается риск подмены и проблем с SPF.

Настройка через плагин

Для большинства сайтов подходит плагин с мастером SMTP. Установите его из каталога WordPress, включите и откройте раздел настроек почты. Выберите провайдера или ручную конфигурацию, укажите сервер, порт и шифрование, затем сохраните параметры. Плагин не должен просить лишние разрешения, а его настройки должны быть доступны только администраторам.

Это интересно:  Как безопасно обновить WordPress, плагины и тему

После сохранения отправьте тестовое письмо. Проверьте не только входящие, но и папку «Спам», заголовки Received и адрес Reply-To. Если письмо не отправилось, сохраните текст ошибки: он помогает понять, неверен ли пароль, заблокирован ли порт или не совпадает имя сертификата.

Тестовое письмо из WordPress
Тест проверяет весь путь: авторизацию, соединение, отправителя и доставку.

Ручные поля 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 оставьте для транзакционных сообщений: заказов, заявок, паролей и уведомлений.

Это интересно:  Переезд без нервов: переносим WordPress на новый хостинг шаг за шагом

Регулярная проверка доставки после изменений заметно снижает риск пропущенных заявок.