Как решить проблему с не отправкой писем в WordPress через SMTP

Диагностика проблемы: почему письма из WordPress не отправляются через SMTP

В WordPress часто возникают проблемы с отправкой писем, особенно при использовании SMTP-серверов. Основные признаки: вы не получаете уведомления о новых заказах, восстановлении пароля, регистрации пользователей. Чтобы понять причину, проверьте следующие моменты:

  • Активен ли SMTP-плагин и корректно ли он настроен;
  • Нет ли конфликтов с другими плагинами, блокирующими почту;
  • Правильно ли указаны параметры SMTP-сервера (хост, порт, шифрование, логин, пароль);
  • Отсутствуют ли ошибки в логах сервера и WordPress;
  • Не блокирует ли хостинг исходящие SMTP-соединения;
  • Не попадают ли письма в спам из-за неправильных заголовков или отсутствия SPF/DKIM записей.

Пошаговое решение: настройка и проверка SMTP в WordPress

Шаг 1. Установка и настройка плагина WP Mail SMTP

Это один из самых популярных и надежных плагинов для SMTP. Установите и активируйте его через админку WordPress.

Далее в настройках плагина укажите:

  • SMTP Host — адрес SMTP-сервера (например, smtp.gmail.com);
  • SMTP Port — 465 для SSL или 587 для TLS;
  • Encryption — SSL или TLS;
  • Authentication — включить;
  • Username и Password — ваши учетные данные SMTP.

Шаг 2. Добавление проверки отправки

В WP Mail SMTP есть встроенная функция тестовой отправки письма. Отправьте тестовое письмо на свой адрес и проверьте, дошло ли оно.

Шаг 3. Включение логирования писем

Для отладки включите логирование в настройках плагина, чтобы видеть ошибки отправки в случае проблем.

Проверка результата после внедрения

После настройки:

  • Отправьте тестовое письмо через WP Mail SMTP;
  • Создайте нового пользователя и проверьте, приходит ли письмо с подтверждением;
  • Запустите сброс пароля и проверьте получение письма;
  • Проверьте логи плагина, чтобы убедиться в отсутствии ошибок.

Частые ошибки и способы их исправления

  • Ошибка аутентификации SMTP: проверьте правильность логина и пароля, а также разрешите доступ приложению, если используется Gmail (настройка "Менее безопасные приложения" или создание пароля приложения).
  • Порт заблокирован хостингом: обратитесь в поддержку хостера или переключитесь на порт 587 с TLS;
  • Письма попадают в спам: настройте SPF, DKIM и DMARC записи в DNS вашего домена;
  • Конфликты с другими плагинами почты: временно отключите другие плагины, связанные с отправкой почты;
  • Отсутствие SSL/TLS: убедитесь, что выбран правильный шифр и сертификаты действительны.

Практические советы по безопасности и производительности SMTP в WordPress

  • Используйте отдельный SMTP-аккаунт для WordPress, чтобы не раскрывать личные данные;
  • Храните пароль SMTP в wp-config.php или используйте сервисы управления секретами;
  • Регулярно обновляйте плагины и PHP для безопасности;
  • Ограничьте число попыток отправки писем, чтобы избежать блокировок SMTP;
  • Если письма критичны, рассмотрите использование специализированных сервисов (SendGrid, Mailgun) с API-интеграцией.

Пример минимальной настройки SMTP для WP Mail SMTP в wp-config.php

define('WPMS_ON', true);
define('WPMS_SMTP_HOST', 'smtp.gmail.com');
define('WPMS_SMTP_PORT', 465);
define('WPMS_SMTP_ENCRYPTION', 'ssl');
define('WPMS_SMTP_AUTO_TLS', false);
define('WPMS_SMTP_AUTH', true);
define('WPMS_SMTP_USER', 'your-email@gmail.com');
define('WPMS_SMTP_PASS', 'your-app-password');

Таблица сравнения вариантов настройки SMTP

МетодПлюсыМинусыКогда использовать
Плагин WP Mail SMTPПростота, логирование, тестированиеЗависимость от плагина, требует обновленияДля большинства сайтов, где нужна простая настройка
Встроенный PHPMailer с хукамиГибкость, контроль кодаТребует знаний, сложнее настроитьЕсли нужен кастомный функционал отправки
Внешние сервисы (SendGrid, Mailgun)Надежность, масштабируемость, аналитикаПлатные, требуется интеграцияДля крупных проектов с большим объемом почты
Как избежать проблем с кодировкой (charset) в WordPress
01.04.2026
Как использовать PHP-FPM с поддержкой multiple pools в WordPress для повышения производительности
12.03.2026
Как избежать проблем с лимитом AJAX-запросов в WooCommerce
10.05.2026
Как автоматизировать удаление старого кеша в WordPress
30.01.2026
Как правильно читать и записывать файлы в WordPress с помощью PHP
10.02.2026