WooCommerce: решение проблемы с неработающей отправкой писем после обновления

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

После обновления WooCommerce или WordPress многие пользователи сталкиваются с проблемой: письма с уведомлениями о заказах перестают уходить. Это может касаться как писем клиентам, так и уведомлений администратору.

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

  • Проверьте, отправляются ли системные письма WordPress (например, восстановление пароля).
  • Включите логирование почты с помощью плагина WP Mail Logging или аналогичного.
  • Посмотрите логи сервера почты, если есть доступ.
  • Проверьте настройки SMTP (если используется).

Типичные причины сбоев отправки писем

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

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

1. Проверка стандартной отправки писем WordPress

Создайте простую PHP-страницу в корне сайта с кодом:

<?php<br>wp_mail('your-email@example.com', 'Test mail', 'This is a test email from WordPress');<br>?>

Если письмо не приходит — проблема с сервером или почтой вне WooCommerce.

2. Использование SMTP плагина для надежной отправки

Установите и настройте плагин WP Mail SMTP. Это решит большинство серверных проблем.

Настройки SMTP должны включать:

  • SMTP-сервер;
  • Порт (обычно 587 или 465);
  • Шифрование TLS/SSL;
  • Авторизацию (имя пользователя/пароль);
  • Отправитель с валидным доменом.

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

WooCommerce отправляет email через класс WC_Email с использованием хука woocommerce_email_send.

Проверьте, что ваши кастомные фильтры и действия не отключают этот хук. Для диагностики временно отключите все плагины, кроме WooCommerce, и переключитесь на стандартную тему (например, Twenty Twenty-Three).

4. Очистка кэша и сброс транзиентов

Если вы используете кэширование, очистите весь кэш сайта и кэш кэширующих плагинов. Также удалите транзиенты WooCommerce:

global $wpdb;<br>$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_wc_%'");

5. Восстановление шаблонов писем WooCommerce

Если были кастомные шаблоны писем в теме, убедитесь, что они совместимы с текущей версией WooCommerce. Для восстановления используйте команду:

wp wc template reset emails

Или вручную замените шаблоны в папке your-theme/woocommerce/emails на оригинальные из плагина.

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

После каждого шага отправьте тестовое письмо через WooCommerce:

  • Перейдите в WooCommerce > Настройки > Email;
  • Выберите любой email (например, "Новый заказ");
  • Нажмите кнопку "Отправить тестовое письмо";
  • Проверьте, пришло ли письмо на указанный адрес.

Если письмо пришло — проблема решена. Если нет, переходите к следующему шагу.

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

  • Ошибка: Письма уходят в спам. Решение: Настройте SPF, DKIM и DMARC записи для домена, используйте SMTP с авторизацией.
  • Ошибка: Конфликт SMTP плагинов. Отключите все SMTP плагины кроме одного. Желательно использовать WP Mail SMTP.
  • Ошибка: Кастомные фильтры отключают отправку писем. Проверьте в functions.php или плагинах наличие фильтров на woocommerce_email_enabled_* и временно отключите их.
  • Ошибка: Устаревшие шаблоны писем. Обновите или удалите кастомные шаблоны.

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

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

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

МетодПлюсыМинусыРекомендации
Использование стандартной функции wp_mail()Простота, не требует плагиновЗависит от сервера, возможны сбоиТолько для теста или простых сайтов
Настройка SMTP через WP Mail SMTPНадёжная отправка, логированиеТребует настройки сервера SMTPОптимальный вариант для большинства сайтов
Кастомные решения, хук woocommerce_email_sendПолный контроль над отправкойСложно, требует навыков разработкиДля продвинутых пользователей
WooCommerce: как исправить неработающее AJAX обновление корзины
08.05.2026
WooCommerce не отображает товары после обновления: как исправить
18.04.2026
WooCommerce: решение проблемы с неотображением товаров после обновления
22.06.2026
Оптимизация загрузки WordPress с помощью метода WPManual
23.12.2025
WooCommerce: как решить проблему с отключённой регистрацией пользователей
05.08.2026