техническое · ответ с источниками

WP Mail SMTP: что это и как работает

WP Mail SMTP — плагин WordPress, который заменяет стандартную PHP-функцию mail() выделенным SMTP-релеем. Направляя письма через профессиональный почтовый сервер, а не через локальный веб-сервер, он обеспечивает аутентификацию и надёжную доставку транзакционных писем.

Основное определение

WP Mail SMTP — конфигурационный слой для WordPress, который перехватывает функцию wp_mail(). Вместо локального почтового агента сервера, который часто не настроен или заблокирован хостинг-провайдером, он подключается к внешнему SMTP-серверу или API для передачи писем. Так ответственность за доставку почты переходит от веб-хостинга к специализированному сервису доставки почты.

Как это работает

Плагин устанавливает соединение с удалённым сервером по простому протоколу передачи почты (SMTP) или через REST API. Он выполняет аутентификацию с помощью учётных данных, например API-ключей или пары «имя пользователя — пароль». После аутентификации плагин передаёт полезную нагрузку письма релею, который затем выполняет финальную доставку на почтовый сервер получателя в соответствии со стандартами RFC 5321.

Почему это важно для отправителей

Выделенный релей критически важен, потому что у локальных веб-серверов нет репутации и записей аутентификации, которых требуют современные почтовые фильтры. Используя релей, отправители могут внедрить записи SPF, DKIM и DMARC. Это снижает вероятность того, что письма будут помечены как спам или отклонены принимающими серверами со строгими проверками аутентификации.

Заметки по эксплуатации

Распространённая ошибка — использовать личный аккаунт Gmail для больших объёмов, что может привести к блокировке аккаунта. Вместо этого разработчикам следует использовать транзакционные сервисы. Чтобы убедиться, что релей настроен правильно, можно с помощью SendHQ или его бесплатных инструментов (https://sendhq.cc/tools) проверить, что DNS-записи соответствуют выбранному SMTP-провайдеру.

Пример реализации

Типичная настройка: установить плагин и выбрать почтовый модуль (mailer), например Amazon SES. Пользователь указывает SMTP-эндпоинт SES, порт 587 для STARTTLS и соответствующие учётные данные IAM. После сохранения все уведомления WordPress, например о сбросе пароля и подтверждении заказа, отправляются через инфраструктуру AWS, а не через локальный сервер.

Что спрашивают команды

Почему стандартная функция PHP mail ненадёжна?

PHP mail() не поддерживает аутентификацию и часто отправляет письма с неподтверждённого IP-адреса сервера, из-за чего принимающие серверы помечают почту как спам или полностью её отклоняют.

Улучшает ли WP Mail SMTP доставляемость писем?

Он позволяет использовать релеи с аутентификацией и API-сервисы, благодаря чему отправитель может подписывать письма DKIM и использовать SPF, повышая доверие.

Можно ли использовать с этим плагином любой SMTP-сервер?

Да, он поддерживает любой сервер, который следует стандартным протоколам SMTP или предоставляет поддерживаемый API для передачи писем.

Первоисточники