WooCommerce не работают письма после обновления: диагностика и решение

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

После обновления WooCommerce часто возникает ситуация, когда магазин перестает отправлять уведомления клиентам и администраторам: письма о новых заказах, смене статуса и другие важные уведомления просто не приходят. Первое, что нужно сделать — точно определить источник проблемы, так как причины могут быть разные:

  • Сбой в настройках SMTP или почтового сервера;
  • Конфликт плагинов, блокирующих отправку или изменяющих почтовые функции;
  • Изменения в коде WooCommerce, влияющие на хуки отправки писем;
  • Проблемы с очередями и CRON-задачами, отвечающими за отправку;
  • Ошибки в шаблонах писем, несовместимые с новой версией WooCommerce.

Как проверить, работают ли письма вообще

Для начала проверьте отправку тестового письма через WordPress. Для этого используйте плагин WP Mail SMTP или аналогичный, который позволяет отправлять тестовые сообщения и смотреть логи.

add_action('admin_init', function() {
    if (isset($_GET['send_test_mail'])) {
        wp_mail('youremail@example.com', 'Test Email', 'Проверка отправки писем');
        wp_die('Тестовое письмо отправлено');
    }
});

Перейдите в админку и добавьте ?send_test_mail=1 к URL, чтобы запустить тест. Если письмо не пришло — проблема с почтовым сервером или настройками SMTP.

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

1. Настройка SMTP

Самый частый виновник — некорректные настройки почты. По умолчанию WordPress использует wp_mail(), которая зависит от сервера. Рекомендуется настроить SMTP с помощью плагина WP Mail SMTP или Easy WP SMTP. Это позволит использовать надежные SMTP-серверы (Gmail, Яндекс, Mail.ru и др.).

Пример базовых настроек SMTP для Gmail:

'smtp.gmail.com'
Port: 587
Encryption: TLS
Username: your-email@gmail.com
Password: app-password (если включена двухфакторная аутентификация)

2. Проверка конфликтов плагинов

Отключите все плагины, кроме WooCommerce, и проверьте отправку писем. Если письма приходят — включайте плагины по одному, чтобы найти конфликтующий.

3. Проверка хуков и шаблонов писем

Обновления WooCommerce иногда меняют внутренние хуки. Проверьте, не переопределяете ли вы стандартные классы или функции отправки писем, например, WC_Emails и методы send(). Также проверьте шаблоны в папке your-theme/woocommerce/emails/, возможно, они устарели и вызывают ошибки.

4. Очереди и CRON задачи

WooCommerce использует CRON для отложенной отправки писем. Проверьте, работают ли задачи WP-Cron. Для этого используйте плагин WP Crontrol и убедитесь, что задачи woocommerce_send_pending_emails есть и не заблокированы.

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

После внесения изменений:

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

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

  • Письма попадают в спам — настройте SPF, DKIM и DMARC для домена.
  • Ошибки в шаблонах писем — используйте стандартные шаблоны WooCommerce, обновите кастомные.
  • Проблемы с SMTP аутентификацией — проверьте логин и пароль, используйте app-password для Gmail.
  • Конфликты с плагинами безопасности — временно отключите их и проверьте отправку.
  • CRON не работает — настройте системный CRON вместо WP-Cron или используйте внешние сервисы.

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

  • Используйте защищенный SMTP с TLS или SSL для отправки почты.
  • Не храните пароли SMTP в открытом виде — используйте защищенные переменные окружения, если возможно.
  • Минимизируйте количество плагинов, влияющих на почту, чтобы избежать конфликтов.
  • Для крупных магазинов рассмотрите использование специализированных сервисов для отправки почты (SendGrid, Mailgun, Amazon SES).

Сравнение вариантов решения проблемы с отправкой писем

МетодПлюсыМинусыКогда использовать
Настройка SMTP через плагинПростая настройка, надежная доставкаТребует учетной записи SMTPПодходит для большинства сайтов
Использование системного CRONБолее стабильное выполнение задачНужен доступ к серверуДля сайтов с большим трафиком
Использование сторонних сервисов (SendGrid, Mailgun)Высокая доставка, аналитикаПлатные тарифы, интеграцияДля профессиональных магазинов
Оптимизация отображения больших данных в WordPress: практические решения и примеры кода
16.03.2026
WooCommerce: запрет создания новых заказов по предоплаченным товарам
30.04.2026
WooCommerce: как отключить автоматическое обновление строк заказов для снижения нагрузки
31.05.2026
Как создать динамический список постов с фильтром в WordPress
27.12.2025
WooCommerce: как исправить неработающее AJAX обновление корзины
08.05.2026