Отладка проблем с отправкой писем из WordPress и их попаданием в спам

Диагностика проблемы с отправкой писем и попаданием в спам

Проблемы с отправкой писем из WordPress обычно проявляются в виде неполучения писем или попадания их в папку «Спам». Чтобы понять источник проблемы, необходимо проверить следующие параметры:

  • Используется ли стандартная функция wp_mail() или SMTP-сервер;
  • Корректно ли настроены заголовки письма (From, Reply-to, MIME и т.д.);
  • Наличие SPF, DKIM и DMARC записей в DNS домена;
  • Логи ошибок сервера и плагинов, связанных с отправкой почты;
  • Настройки хостинга и ограничения на отправку почты.

Для диагностики можно использовать расширенный лог писем, например, плагин WP Mail Logging, чтобы убедиться, что письма действительно уходят из системы WordPress.

Пошаговое решение: как исправить проблему с попаданием писем в спам

Шаг 1. Переключение на SMTP отправку писем

В большинстве случаев стандартная функция wp_mail() отправляет письма через PHP mail, что часто приводит к попаданию в спам. Рекомендуется настроить SMTP отправку через надежный почтовый сервер.

<?php
add_action('phpmailer_init', function($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host = 'smtp.yourprovider.com';
    $phpmailer->SMTPAuth = true;
    $phpmailer->Port = 587; // или 465 для SSL
    $phpmailer->Username = 'your-email@domain.com';
    $phpmailer->Password = 'your-email-password';
    $phpmailer->SMTPSecure = 'tls'; // или 'ssl'
    $phpmailer->From = 'your-email@domain.com';
    $phpmailer->FromName = 'Ваш сайт';
});
?>

Этот код можно добавить в файл functions.php вашей темы или в отдельный плагин для удобства.

Шаг 2. Проверка и настройка SPF, DKIM и DMARC

Добавьте в DNS вашего домена следующие записи:

  • SPF: разрешает серверам отправлять почту от имени вашего домена. Пример: v=spf1 include:_spf.google.com ~all
  • DKIM: цифровая подпись писем, подтверждающая их подлинность. Настраивается через панель хостинга или почтового сервиса.
  • DMARC: политика обработки писем, не прошедших SPF или DKIM. Пример: v=DMARC1; p=quarantine; rua=mailto:admin@domain.com

Проверить корректность записей можно с помощью сервисов: MXToolbox SPF, DKIM Inspector.

Шаг 3. Правильная формировка заголовков письма

Некорректные заголовки могут вызвать блокировку писем. При отправке через wp_mail() задавайте заголовки явно:

$to = 'user@example.com';
$subject = 'Тема письма';
$message = 'Текст письма';
$headers = [
    'From: Ваш сайт <no-reply@domain.com>',
    'Reply-To: support@domain.com',
    'Content-Type: text/html; charset=UTF-8'
];
wp_mail($to, $subject, $message, $headers);

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

Для проверки результата:

  • Отправьте тестовое письмо с сайта на разные почтовые сервисы (Gmail, Яндекс, Mail.ru);
  • Проверьте папки «Входящие» и «Спам»;
  • Используйте сервисы проверки писем, например Mail Tester, который даст оценку вашему письму;
  • Проверьте логи сервера и плагина WP Mail Logging для подтверждения успешной отправки.

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

  • Ошибка 1: Письма не отправляются — SMTP-сервер требует авторизации или порт заблокирован.
    Решение: проверьте параметры SMTP, используйте порт 587 или 465, убедитесь в отсутствии блокировок на хостинге.
  • Ошибка 2: Письма приходят в спам — отсутствуют SPF/DKIM записи.
    Решение: настройте и проверьте записи в DNS, используйте специализированные сервисы для проверки.
  • Ошибка 3: Неверный формат заголовков — письма не принимаются почтовыми серверами.
    Решение: всегда указывайте заголовок From в формате Имя <email>, добавляйте Content-Type: text/html; charset=UTF-8 для HTML-писем.

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

  • Используйте сторонние SMTP-сервисы (SendGrid, Mailgun, Amazon SES) для надежной доставки и мониторинга.
  • Не храните пароли SMTP в открытом виде — используйте константы в wp-config.php или переменные окружения.
  • Для массовых рассылок применяйте очереди (cron-задания) и лимитируйте скорость отправки, чтобы избежать блокировок.
  • Регулярно проверяйте логи и реакцию почтовых сервисов на ваши письма.

Сравнение вариантов настройки отправки писем

СпособПлюсыМинусыРекомендации
PHP mail()Простота настройки, нет зависимостейЧасто попадает в спам, нестабильностьПодходит только для тестов
SMTP через плагин/кодНадежная доставка, контроль заголовковТребует настроек и наличия SMTP-сервераРекомендуется для всех проектов
Сторонние SMTP сервисыВысокая надежность, аналитика, масштабируемостьМогут понадобиться расходы, настройка APIОптимально для больших проектов и рассылок
Как использовать WPCommunity для создания локального форума в WordPress
20.02.2026
Настройка AJAX-отправки для добавления товаров в корзину WooCommerce без ошибок
22.04.2026
Ошибка «Invalid Payment Method» при оформлении заказа в WooCommerce: как исправить
07.05.2026
WooCommerce: правильная настройка доставки по зонам — решение проблем с расчетом
30.04.2026
Как добавить двухуровневую авторизацию в WordPress
11.03.2026