Диагностика и решение проблем с отправкой email в WordPress

Проблемы с отправкой email-сообщений в WordPress — частая головная боль для многих администраторов сайтов. Письма не доходят до пользователей, заказы в WooCommerce не подтверждаются, а уведомления о новых комментариях не приходят. В этой статье подробно разберём, как диагностировать причины сбоев в отправке почты, какие плагины помогут упростить задачу, и приведём примеры кода для отладки и исправления ошибок.

Почему в WordPress не отправляются письма: основные причины

WordPress по умолчанию использует PHP-функцию mail() для отправки email. Это простой способ, но он часто вызывает проблемы:

  • Сервер не настроен на отправку почты или ограничивает использование mail(). Это типично для многих shared-хостингов.
  • Письма попадают в спам из-за отсутствия SPF, DKIM, DMARC-записей в DNS.
  • Неправильная конфигурация SMTP-сервера, если используется внешний почтовый сервис.
  • Конфликты с другими плагинами, которые перехватывают или изменяют отправку почты.
  • Ошибки в коде тем или плагинов, которые формируют или отправляют письма.

Понимание этих причин — первый шаг к эффективной диагностике.

Плагины для диагностики и настройки отправки email в WordPress

Для упрощения работы с почтой в WordPress существуют специализированные плагины. Рассмотрим самые полезные из них:

WP Mail SMTP

Один из самых популярных плагинов для настройки SMTP в WordPress. Позволяет указать параметры почтового сервера (Gmail, Яндекс, Mail.ru, SMTP любого провайдера) и отправлять письма через надёжный SMTP, минуя стандартную функцию mail().

  • Поддерживает OAuth 2.0 для Gmail.
  • Ведёт лог отправленных сообщений (в PRO версии).
  • Имеет удобный мастер настройки.

Скачать и посмотреть подробнее можно на https://wpshop.ru/plugin/wp-mail-smtp/

WP Check Email

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

Check & Log Email

Плагин, который ведёт детальный лог всех отправленных писем. Можно увидеть ошибки и причины неудачной отправки.

Как провести диагностику отправки email вручную с помощью кода

Если хочется проверить работу отправки почты программно, можно добавить тестовый код в functions.php вашей темы или в отдельный плагин. Например, создадим функцию wpcheck_send_test_email, которая отправляет письмо и выводит результат:

function wpcheck_send_test_email() {
    $to = get_option('admin_email');
    $subject = 'Тестовая отправка почты с сайта';
    $message = 'Это тестовое письмо, отправленное для проверки работы почты на WordPress сайте.';
    $headers = array('Content-Type: text/html; charset=UTF-8');

    $sent = wp_mail($to, $subject, $message, $headers);

    if ($sent) {
        echo 'Письмо успешно отправлено на ' . esc_html($to);
    } else {
        echo 'Ошибка отправки письма на ' . esc_html($to);
    }
}

// Запускаем функцию при вызове URL с параметром ?test_email=1
add_action('init', function() {
    if (isset($_GET['test_email']) && $_GET['test_email'] == '1') {
        wpcheck_send_test_email();
        exit;
    }
});

Теперь, чтобы протестировать отправку, достаточно перейти по ссылке https://ваш-сайт/?test_email=1 и посмотреть результат. Если письмо не пришло, значит проблема в конфигурации сервера или почты.

Настройка отправки писем через SMTP с помощью кода

Если вы не хотите использовать плагин, можно настроить отправку почты через SMTP программно. Для этого добавим фильтр wp_mail_smtp_custom в functions.php.

add_action('phpmailer_init', 'wpcheck_phpmailer_smtp_setup');
function wpcheck_phpmailer_smtp_setup($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = 'smtp.yourmailserver.com';
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Port       = 587;
    $phpmailer->Username   = 'your-email@example.com';
    $phpmailer->Password   = 'your-email-password';
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->From       = 'your-email@example.com';
    $phpmailer->FromName   = 'Название вашего сайта';
}

Замените параметры на данные вашего SMTP-провайдера. Это позволит отправлять почту надёжно и уменьшит вероятность попадания писем в спам.

Как избежать попадания писем в спам: SPF, DKIM, DMARC

Даже при корректной настройке SMTP письма могут попадать в спам, если в DNS не настроены специальные записи:

  • SPF — указывает, какие серверы имеют право отправлять почту от вашего домена.
  • DKIM — цифровая подпись письма, подтверждающая, что оно не подделано.
  • DMARC — политика обработки писем, не прошедших SPF или DKIM.

Настройка этих записей происходит в панели управления DNS вашего домена. Обычно провайдеры почтовых сервисов (Google Workspace, Яндекс.Почта) предоставляют инструкции и готовые записи для вставки.

Дополнительные советы по диагностике и устранению проблем с почтой WordPress

  • Проверьте логи сервера и WordPress. Иногда сервер блокирует отправку или возникает ошибка в PHP.
  • Отключите все плагины, кроме почтовых, и смените тему на дефолтную. Это поможет выявить конфликт.
  • Используйте плагин WPCheck для мониторинга ошибок и производительности. Он поможет выявить скрытые сбои.
  • Проверяйте лимиты хостинга. Некоторые провайдеры ограничивают количество отправляемых писем.

Заключение

Настройка и диагностика отправки email в WordPress требует системного подхода: от проверки базовой функциональности PHP-mail до грамотной настройки SMTP и DNS-записей. Используйте специализированные плагины для упрощения задачи и не забывайте тестировать отправку письма вручную с помощью кода. Это поможет избежать потери важных уведомлений и обеспечит надёжную работу вашего сайта.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как использовать функцию wp_unique_slug для решения проблем с URL в WordPress
16.05.2026
Диагностика и решение проблем с отправкой email в WordPress
21.01.2026
Диагностика и решение проблем с не работающими AJAX-запросами в WooCommerce
17.06.2026
Как настроить логирование ошибок в WordPress для удобного отладки
14.01.2026
Как автоматически удалять старые черновики в WordPress
26.02.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше