Отправка писем из WordPress — важный элемент работы сайта: уведомления о новых регистрациях, восстановление пароля, оповещения с форм обратной связи. По умолчанию WordPress использует функцию wp_mail(), которая в свою очередь опирается на PHP-функцию mail(). Но часто письма не доходят до получателей или попадают в спам. Причина — неправильные настройки почты или ограничения хостинга.
Почему стоит использовать SMTP для отправки писем из WordPress
SMTP (Simple Mail Transfer Protocol) — протокол, обеспечивающий надежную и аутентифицированную отправку почтовых сообщений через почтовый сервер. Использование SMTP вместо стандартной функции mail() в WordPress дает ряд преимуществ:
- Гарантия доставки писем благодаря аутентификации на сервере;
- Уменьшение вероятности попадания писем в спам;
- Возможность отслеживать статус отправленных писем;
- Использование авторитетных почтовых сервисов (Gmail, Яндекс.Почта, Mail.ru и др.);
- Совместимость с внешними SMTP-серверами и сервисами рассылок.
Поэтому настройка SMTP — один из обязательных шагов для любого серьезного WordPress-сайта.
Популярные плагины для настройки SMTP в WordPress
Для удобства настройки SMTP в WordPress существуют специализированные плагины. Рассмотрим самые востребованные и надежные:
WP Mail SMTP
Самый популярный плагин для настройки SMTP. Позволяет подключить внешний SMTP-сервер, включая OAuth-авторизацию для Gmail и Microsoft 365.
Ключевые функции:
- Простая настройка SMTP через пользовательский интерфейс;
- Поддержка популярных почтовых сервисов;
- Логирование отправленных писем;
- Тестовая отправка сообщений для проверки конфигурации.
Скачать и узнать больше: https://wpshop.ru/wp-mail-smtp
Post SMTP Mailer/Email Log
Продвинутый плагин с расширенными возможностями для диагностики проблем с почтой. Поддерживает SMTP, OAuth и REST API отправку.
Особенности:
- Детальный лог отправленных писем;
- Уведомления о неудачных попытках отправки;
- Автоматическое переключение на резервный способ отправки;
- Поддержка DKIM, SPF и других стандартов почты.
Подробнее: https://wpshop.ru/post-smtp-mailer-email-log
Как настроить SMTP вручную через код в WordPress
Если вы хотите обойтись без плагинов и настроить SMTP отправку программно, можно использовать хук phpmailer_init. Ниже пример функции с настройками SMTP для wppuzzle.ru:
function wppuzzle_smtp_mailer_init(\PHPMailer\PHPMailer\PHPMailer $phpmailer) {
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.example.com'; // SMTP сервер
$phpmailer->SMTPAuth = true; // Включаем аутентификацию
$phpmailer->Port = 587; // Порт SMTP
$phpmailer->Username = 'user@example.com'; // Логин SMTP
$phpmailer->Password = 'securepassword'; // Пароль SMTP
$phpmailer->SMTPSecure = 'tls'; // Тип шифрования
$phpmailer->From = 'no-reply@wppuzzle.ru';
$phpmailer->FromName = 'wppuzzle.ru';
}
add_action('phpmailer_init', 'wppuzzle_smtp_mailer_init');В этом коде замените smtp.example.com, логин и пароль на данные вашего почтового сервера. После добавления этого кода в файл functions.php вашей темы или в отдельный плагин, все письма WordPress будут отправляться через указанный SMTP.
Тестирование отправки писем
Для проверки работы SMTP можно использовать простой тестовый скрипт:
function wppuzzle_test_smtp_mail() {
$to = 'your-email@example.com';
$subject = 'Тест SMTP на wppuzzle.ru';
$message = 'Это тестовое письмо для проверки SMTP настройки в WordPress.';
$headers = array('Content-Type: text/html; charset=UTF-8');
$sent = wp_mail($to, $subject, $message, $headers);
if($sent) {
echo 'Письмо успешно отправлено!';
} else {
echo 'Ошибка отправки письма.';
}
}
// Запустите функцию вручную или через админку для тестаЭто позволит убедиться, что письма уходят правильно.
Устранение проблем с отправкой SMTP писем в WordPress
Даже при правильной настройке SMTP иногда возникают проблемы. Вот основные ошибки и способы их решения:
Письма не отправляются, ошибка подключения к SMTP
- Проверьте правильность хоста, порта и протокола шифрования (SSL/TLS);
- Убедитесь, что хостинг не блокирует исходящие SMTP-соединения;
- Проверьте правильность логина и пароля;
- Попробуйте сменить порт (обычно 587 для TLS, 465 для SSL);
- Используйте плагины с расширенной диагностикой (например, Post SMTP).
Письма попадают в спам
- Настройте SPF, DKIM и DMARC записи в DNS для вашего домена;
- Используйте почтовые сервисы с хорошей репутацией;
- Добавьте заголовки
FromиReply-Toс корректными адресами; - Проверьте контент письма — избегайте спам-триггеров.
Письма отправляются, но получатели не получают их
- Проверьте логи SMTP сервера;
- Попросите получателей проверить папку "Спам";
- Добавьте письмо в белый список у получателей;
- Используйте сервисы мониторинга отправки писем.
Использование SMTP с WPShop плагинами
Если вы используете на сайте плагины с WPShop, например, WPRemark для отзывов или My Popup для попапов, настройка SMTP повышает надежность отправки уведомлений и писем с форм. Многие из этих плагинов используют стандартную функцию wp_mail(), так что правильная SMTP-настройка в системе автоматически улучшит их работу без дополнительных настроек.
Настройте SMTP один раз — и забудьте о проблемах с почтой, повысив доверие пользователей и стабильность сайта.