Если письма с WordPress не доходят до получателей, попадают в спам или сайт вообще перестал отправлять уведомления, почти всегда проблема не в самом WordPress, а в способе отправки. По умолчанию WordPress использует функцию PHP mail(), а она часто работает нестабильно или без нормальной авторизации отправителя. Надёжнее перевести сайт на SMTP: тогда письма уходят через почтовый сервер с логином, паролем и понятными настройками.
Ниже разберём, как настроить SMTP в WordPress, что проверить до и после настройки и как искать причину, если письма всё равно не отправляются.
Почему письма с WordPress ломаются
Типичный сценарий выглядит так: форма отправлена, заказ создан, уведомление в админку должно прийти, но письма нет. Или письмо приходит, но в спам. Причины обычно приземлённые:
- хостинг ограничивает или отключает отправку через
mail(); - у домена нет корректной почтовой аутентификации;
- в письме указан адрес отправителя с чужим доменом;
- SMTP-сервер требует шифрование, а в настройках сайта оно не задано;
- порт, логин или пароль указаны неверно;
- почтовый сервис блокирует отправку из-за лимитов или подозрительной активности.
SMTP решает не все проблемы с доставляемостью, но убирает главный источник сбоев: неавторизованную отправку с сервера сайта.
Что подготовить до настройки
Сначала убедитесь, что у вас есть доступ к почтовому ящику или SMTP-сервису, через который сайт будет отправлять письма. Это может быть почта на домене у хостинга, корпоративный почтовый сервис или отдельный SMTP-провайдер. Для настройки обычно нужны:
- адрес SMTP-сервера;
- порт;
- тип шифрования:
SSLилиTLS; - логин;
- пароль или пароль приложения, если сервис его требует;
- адрес отправителя, который принадлежит тому же домену или разрешён сервисом.
Если вы используете Gmail, Microsoft 365, Яндекс 360, Mail.ru для бизнеса или похожий сервис, часто нужен именно пароль приложения, а не обычный пароль от почты. Это зависит от политики конкретного сервиса и включённой двухфакторной аутентификации.
Как настроить SMTP в WordPress
Проще всего сделать это через плагин для отправки почты. В WordPress нет встроенного удобного SMTP-интерфейса, поэтому без плагина придётся писать код и вручную подключаться к phpmailer. Для большинства сайтов плагин — нормальный и безопасный путь.
Логика настройки везде одинаковая: вы указываете SMTP-сервер, порт, шифрование, логин и пароль, а затем задаёте адрес и имя отправителя.
1. Установите плагин для SMTP
Подойдёт любой надёжный SMTP-плагин с понятными настройками и тестовой отправкой. После установки откройте его страницу настроек в админке WordPress.
2. Выберите способ отправки через SMTP
В настройках включите отправку через SMTP, а не через PHP mail. Если плагин предлагает несколько почтовых сервисов с готовыми профилями, можно выбрать ваш провайдер. Если такого профиля нет, используйте ручную настройку.
3. Заполните параметры сервера
Обычно нужны такие поля:
- SMTP Host — адрес сервера, например
smtp.example.com; - SMTP Port — чаще всего
587дляTLSили465дляSSL; - Encryption —
TLSилиSSL; - Authentication — включено;
- Username — обычно полный адрес почты;
- Password — пароль ящика или пароль приложения.
Если провайдер прямо указывает порт и шифрование, используйте именно их. Не подбирайте значения наугад: сочетание порта и шифрования должно совпадать с требованиями сервера.
4. Укажите адрес отправителя
В поле отправителя лучше ставить адрес на том же домене, что и сайт, например noreply@вашдомен.ru или info@вашдомен.ru. Если указать чужой домен, часть серверов отклонит письмо или пометит его как подозрительное.
Имя отправителя тоже имеет значение: оно должно быть понятным пользователю и не меняться хаотично от письма к письму.
5. Сохраните настройки и отправьте тестовое письмо
После сохранения обязательно отправьте тестовое письмо на внешний адрес: Gmail, Яндекс Почту, Outlook или другой ящик, который вы контролируете. Тест нужен не только для проверки факта отправки, но и для проверки заголовков, папки «Спам» и отображения имени отправителя.
Если тест не проходит, не меняйте всё подряд. Сначала проверьте один параметр за другим: сервер, порт, шифрование, логин, пароль и адрес отправителя.
Как понять, где именно ломается отправка
Когда тест не уходит, важно разделить проблему на два уровня: WordPress не может подключиться к SMTP или письмо уходит, но теряется по дороге.
| Симптом | Что вероятнее всего не так | Что проверить первым |
|---|---|---|
| Ошибка авторизации | Неверный логин, пароль или пароль приложения | Данные ящика, двухфакторную аутентификацию, требования сервиса |
| Ошибка соединения | Неверный хост, порт, шифрование или блокировка на хостинге | SMTP Host, порт 587/465, TLS/SSL, исходящие соединения |
| Письмо отправлено, но не пришло | Проблема доставляемости или спам-фильтры | Адрес отправителя, SPF, DKIM, DMARC, папку «Спам» |
| Письмо приходит в спам | Слабая репутация домена или несоответствие отправителя | Доменные записи, совпадение From и SMTP-аккаунта |
Если плагин показывает журнал ошибок, смотрите на текст ответа сервера. Он обычно точнее, чем общий статус «не отправлено».
Что проверить, если письма всё равно не доходят
Даже при рабочем SMTP письмо может не попасть во входящие. В этом случае проблема уже не в WordPress как таковом, а в доставляемости.
Проверьте адрес отправителя
Отправитель должен быть согласован с SMTP-аккаунтом. Если вы авторизуетесь через info@вашдомен.ru, а в поле From ставите no-reply@другойдомен.ru, многие почтовые системы это не любят.
Проверьте SPF, DKIM и DMARC
Если письма уходят с домена сайта, у домена желательно настроить SPF и DKIM, а DMARC — хотя бы в базовом режиме. Без этих записей почтовые сервисы чаще отправляют письма в спам или отклоняют их. Настройка зависит от того, где у вас DNS, и от почтового провайдера, поэтому универсальной строки для всех случаев нет.
Если вы не уверены, где редактируются DNS-записи, проверьте панель регистратора домена или хостинга. Там же обычно видно, добавлены ли нужные записи.
Проверьте лимиты почтового сервиса
Некоторые SMTP-сервисы ограничивают количество писем в час или в сутки. Если сайт шлёт много уведомлений, часть сообщений может не пройти. Это особенно заметно на сайтах с формами заявок, регистрацией и массовыми уведомлениями.
Проверьте папку «Спам» и фильтры получателя
Иногда письмо технически доставлено, но пользователь его не видит. Попросите проверить не только входящие, но и спам, промоакции, рекламные вкладки и правила фильтрации.
Если SMTP не подключается вообще
Когда WordPress не может установить соединение с SMTP-сервером, причина может быть на стороне хостинга или сети. Это уже не вопрос формы или шаблона письма.
- Хостинг может блокировать исходящие подключения на порт
465или587. - На сервере может быть ограничен доступ к внешним SMTP-серверам.
- Некоторые провайдеры требуют использовать только их собственный SMTP.
- На дешёвом shared-хостинге
mail()и SMTP часто работают нестабильно из-за общих ограничений.
Если вы видите ошибки подключения, сначала уточните у хостинга, разрешены ли исходящие SMTP-соединения и какие порты открыты. Это быстрее, чем бесконечно менять настройки в WordPress.
Как проверить, что всё работает правильно
После настройки не ограничивайтесь одним тестовым письмом. Проверьте несколько сценариев, которые реально используются на сайте:
- отправка через контактную форму;
- уведомление администратору;
- письмо пользователю после регистрации или восстановления пароля;
- письмо после оформления заявки, если такая логика есть на сайте.
Если все эти письма уходят, приходят и не попадают в спам, SMTP настроен нормально. Если часть сообщений всё ещё теряется, смотрите не только WordPress, но и конкретный плагин формы, шаблон письма и доменные записи.
Когда лучше не настраивать SMTP вручную
Если сайт критичен для бизнеса и письма должны уходить стабильно, не стоит полагаться на случайный ящик на бесплатном домене или на настройки хостинга «по умолчанию». Для рабочих сайтов лучше использовать отдельный почтовый сервис с понятной аутентификацией, журналом отправки и нормальной репутацией домена.
Ручная настройка через код тоже возможна, но она оправдана только если вы точно понимаете, что делаете и готовы поддерживать решение сами. Для большинства сайтов достаточно хорошего SMTP-плагина и корректно настроенного почтового сервиса.
Если после перехода на SMTP письма всё равно не доходят, не ищите проблему только в WordPress. Обычно сбой находится в одном из четырёх мест: неверные SMTP-параметры, блокировка на хостинге, плохая доменная аутентификация или фильтры почтового сервиса получателя. Когда вы проверяете их по очереди, причина находится довольно быстро.