техническое · ответ с источниками
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 для передачи писем.
Первоисточники
- RFC 5321: простой протокол передачи почты (SMTP) — RFC Editor
- RFC 4954: расширение SMTP для аутентификации — RFC Editor
- Руководство разработчика Amazon SES — Amazon Web Services