wphow.ru wordpress WPHow

Как отправлять письма из WordPress через SMTP: настройка и примеры

Отправка почты из WordPress — одна из важнейших функций для любого сайта, будь то уведомления о новых комментариях, письма с форм обратной связи или оповещения пользователей. По умолчанию WordPress использует функцию wp_mail(), которая полагается на PHP mail(), но она часто работает нестабильно или письма попадают в спам. Лучшее решение — настроить отправку через SMTP-сервер. В этой статье мы подробно разберём, как это сделать правильно, рассмотрим популярные плагины и покажем, как реализовать отправку писем через SMTP программно.

Почему стоит использовать SMTP для отправки писем в WordPress

Встроенная функция wp_mail() использует PHP mail(), которая зависит от настроек сервера. Это часто приводит к:

  • Проблемам с доставкой писем.
  • Письмам, которые попадают в спам.
  • Невозможности отследить ошибки отправки.

SMTP (Simple Mail Transfer Protocol) — это стандартный протокол для отправки почты. Используя SMTP, вы подключаетесь к доверенному почтовому серверу, например, Gmail, Яндекс.Почта, или корпоративному серверу, и отправляете письма через него. Это надежно, безопасно и улучшает доставляемость.

Настройка SMTP с помощью плагинов WordPress

Плагин WP Mail SMTP — популярное решение для настройки SMTP

WP Mail SMTP — один из самых популярных плагинов, который позволяет перенастроить отправку почты через SMTP без сложного кода. Он поддерживает множество SMTP-сервисов, включая Gmail, SendGrid, Mailgun и другие.

Чтобы настроить SMTP через WP Mail SMTP:

  1. Установите и активируйте плагин через админку WordPress.
  2. Перейдите в раздел WP Mail SMTP > Настройки.
  3. Выберите ваш SMTP-сервер (например, Gmail).
  4. Заполните поля SMTP-сервера: хост, порт, шифрование (SSL/TLS), логин и пароль.
  5. Сохраните настройки и протестируйте отправку письма через встроенный тест.

Плагин также позволяет настроить отправителя и имя, что помогает избежать проблем с фильтрами спама.

Другие плагины для SMTP

  • Post SMTP Mailer/Email Log — расширенный плагин с логированием писем и большим числом SMTP-провайдеров.
  • Easy WP SMTP — простой и легкий плагин для базовой SMTP-настройки.

Программная настройка отправки писем через SMTP в WordPress

Если вы хотите обойтись без плагинов и сделать настройку отправки через SMTP программно, это можно сделать с помощью PHPMailer, который используется внутри WordPress.

Ниже приведён пример функции wphow_configure_smtp(), которую можно добавить в файл functions.php вашей темы или в плагин:

function wphow_configure_smtp(PHPMailer\PHPMailer\PHPMailer $phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host = 'smtp.yandex.ru'; // SMTP сервер
    $phpmailer->SMTPAuth = true;
    $phpmailer->Port = 465; // Порт SMTP
    $phpmailer->Username = 'your-email@yandex.ru'; // Логин
    $phpmailer->Password = 'your-password'; // Пароль
    $phpmailer->SMTPSecure = 'ssl'; // Шифрование
    $phpmailer->From = 'your-email@yandex.ru';
    $phpmailer->FromName = 'WPHow Support';
}
add_action('phpmailer_init', 'wphow_configure_smtp');

В этом примере мы настраиваем PHPMailer на использование SMTP Яндекса с SSL. Аналогично можно заменить настройки под любой другой SMTP-сервер.

Как проверить работоспособность SMTP-отправки

После настройки SMTP важно проверить, что письма отправляются корректно. Для этого вы можете использовать следующий код для тестовой отправки письма:

function wphow_send_test_email() {
    $to = 'your-email@example.com';
    $subject = 'Тестовое письмо с сайта WPHow';
    $message = 'Это тестовое письмо, отправленное через SMTP из WordPress.';
    $headers = array('Content-Type: text/html; charset=UTF-8');

    wp_mail($to, $subject, $message, $headers);
}

// Запустите эту функцию один раз для теста
// wphow_send_test_email();

Разкомментируйте вызов функции, загрузите сайт и проверьте почту. Если письмо пришло — настройка выполнена успешно.

Типичные ошибки и способы их решения при настройке SMTP в WordPress

Ошибка аутентификации SMTP

Частая проблема — неправильный логин или пароль, или двухфакторная аутентификация на почте. В таких случаях:

  • Проверьте корректность введённых данных.
  • Если включена двухфакторная аутентификация — создайте и используйте специальный пароль приложения.
  • Убедитесь, что SMTP-сервер и порт указаны правильно.

Письма не доходят или попадают в спам

Чтобы улучшить доставляемость:

  • Установите корректные заголовки отправителя (From, Reply-To).
  • Настройте SPF, DKIM и DMARC для вашего домена (это записи DNS, которые подтверждают право отправлять письма).
  • Используйте проверенные SMTP-сервисы с хорошей репутацией.

Проблемы с сертификатами SSL/TLS

Если сервер не поддерживает SSL или сертификаты устарели, можно попробовать сменить порт (например, с 465 на 587) и использовать TLS вместо SSL. Также в плагинах часто есть опция отключить проверку сертификатов (не рекомендуется в продакшене).

Заключение

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

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее