WooCommerce: как решить проблему не отправляющихся писем о подтверждении заказа

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

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

Как проверить работу почтовой системы WordPress и WooCommerce

  • Используйте плагин Check Email для отправки тестового письма и проверки базовой отправки почты.
  • Проверьте записи логов сервера на предмет ошибок при отправке почты (например, в логах PHP или почтового сервера).
  • Отключите все плагины кроме WooCommerce и переключитесь на стандартную тему WordPress (например, Twenty Twenty-One) для исключения конфликтов.
  • Проверьте настройки WooCommerce в разделе WooCommerce > Настройки > Email — активированы ли нужные уведомления и корректен ли адрес отправителя.

Пошаговое решение проблемы с отправкой писем о подтверждении заказа

1. Настройка SMTP для надежной отправки писем

По умолчанию WordPress использует функцию wp_mail(), которая может быть ограничена настройками хостинга. Лучшее решение — настроить SMTP. Вот пример настройки через плагин WP Mail SMTP:

add_action('phpmailer_init', function($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = 'smtp.yourmail.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   = 'Ваш магазин';
});

После настройки отправьте тестовое письмо из плагина WP Mail SMTP и убедитесь, что оно приходит.

2. Проверка и исправление шаблонов писем WooCommerce

Если SMTP настроен и письма из WordPress отправляются, но уведомления WooCommerce нет, возможно, проблема в переопределённых шаблонах писем.

  • Перейдите в WooCommerce > Настройки > Email и убедитесь, что уведомления Новый заказ, Обработка заказа, Завершённый заказ включены.
  • Проверьте папку your-theme/woocommerce/emails на предмет кастомных шаблонов. Временно переименуйте эту папку, чтобы WooCommerce использовал стандартные шаблоны.

3. Принудительная отправка письма программно

Для отладки можно отправить письмо вручную через код, чтобы увидеть, срабатывает ли функция отправки:

add_action('init', function() {
    if (isset($_GET['test_wc_email'])) {
        $order = wc_get_order(1); // замените 1 на ID существующего заказа
        if ($order) {
            WC()->mailer()->emails['WC_Email_Customer_Processing_Order']->trigger($order->get_id());
            echo 'Письмо отправлено';
        } else {
            echo 'Заказ не найден';
        }
        exit;
    }
});

Зайдите на сайт с параметром ?test_wc_email=1 и проверьте, пришло ли письмо.

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

  • Отправьте тестовое письмо через SMTP-плагин — оно должно прийти без ошибок.
  • Создайте новый заказ в WooCommerce с тестовым пользователем и проверьте получение письма.
  • Используйте отладочные логи WooCommerce: включите в wp-config.php define('WP_DEBUG', true); define('WP_DEBUG_LOG', true);, чтобы записи об ошибках записывались в wp-content/debug.log.

Частые ошибки и как их исправить

  • Письма попадают в спам: Проверьте SPF, DKIM, DMARC записи домена. Используйте SMTP с авторизацией и корректным From.
  • Письма не отправляются, но тестовое письмо приходит: Проверьте, не отключены ли уведомления в WooCommerce.
  • Конфликты с плагинами безопасности или кеширования: Временно отключите их и проверьте отправку.
  • Пользовательские шаблоны писем ломают вывод: Временно используйте стандартные шаблоны WooCommerce.

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

  • Используйте авторизованный SMTP-сервер с поддержкой TLS для безопасной передачи писем.
  • Ограничьте количество одновременных отправок писем, чтобы не перегружать сервер и не попасть под антиспам-фильтры.
  • Регулярно обновляйте WooCommerce и плагины для исправления уязвимостей в системе отправки писем.
  • Используйте плагины мониторинга почты (например, WP Mail Logging) для отслеживания ошибок и успешных отправок.

Сравнение способов отправки почты в WooCommerce

МетодПреимуществаНедостатки
Стандартный wp_mail()Нет дополнительных настроек, простотаЗависит от сервера, часто письма попадают в спам
SMTP через плагин (WP Mail SMTP)Надёжность, поддержка авторизации, меньше спамаТребует настройки, возможны проблемы с совместимостью
Внешние сервисы почты (SendGrid, Mailgun)Масштабируемость, аналитика, доставкаПлатные, сложнее интеграция
WooCommerce: как решить проблему не отправляющихся писем о подтверждении заказа
13.05.2026
Автоматическое изменение стоимости товара в WooCommerce по условиям
22.04.2026
WooCommerce: автоматическое отключение регистрации при перегрузке сайта
29.05.2026
Как разрешить доступ к файлам в WordPress без плагинов
05.02.2026
Как отключить системные чтения WooCommerce для повышения производительности
06.05.2026