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

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

Первым делом нужно понять, почему WooCommerce не отправляет письма с подтверждением заказа. Часто встречающиеся причины:

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

Для начала проверьте, отправляются ли другие письма WordPress, например, сброс пароля. Если нет — проблема в почтовой системе сайта.

Как проверить, работает ли отправка почты

Используйте плагин Check Email. Отправьте тестовое письмо. Если письмо не приходит — ищите проблему на уровне сервера или настроек WordPress.

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

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

Стандартная функция mail() часто блокируется. Рекомендуется использовать SMTP-сервер. Пример настройки через плагин WP Mail SMTP:

1. Установите и активируйте WP Mail SMTP (https://wpshop.ru/plugins/clearfy?utm_source=wperror.ru&utm_medium=article&utm_campaign=woocommerce-ne-rabotaet-otpravka-pisem-podtverzhdeniya-zakaza).  
2. В настройках укажите SMTP-сервер вашего почтового провайдера (например, Gmail, Яндекс Почта, Mail.ru).  
3. Введите логин и пароль от почтового ящика.  
4. Включите авторизацию SSL/TLS, если требуется.  
5. Сохраните настройки и отправьте тестовое письмо.

Пример настройки SMTP вручную в functions.php темы (если не хотите использовать плагин):

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

2. Проверка и отключение конфликтующих плагинов

Отключите плагины кеширования (WP Super Cache, W3 Total Cache), безопасности (Wordfence, iThemes Security) и антиспам. Проверьте, отправляются ли письма после этого. Если проблема решилась — включайте по одному плагину, чтобы выявить конфликт.

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

Если вы кастомизировали шаблоны писем, верните их к стандартным:

  • В админке WordPress перейдите WooCommerce → Статус → Инструменты → Восстановить шаблоны писем.
  • Или временно переключитесь на стандартную тему (например, Storefront) для теста.

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

После настройки SMTP и устранения конфликтов отправьте тестовый заказ:

  1. Создайте заказ вручную в админке WooCommerce.
  2. Убедитесь, что в заказе статус установлен на «Обработка» или «Завершённый» (в зависимости от настроек).
  3. Проверьте почту, к которой привязан заказ — должно прийти письмо с подтверждением.
  4. Используйте журнал почты, если установлен плагин WP Mail Logging, чтобы убедиться, что письмо отправлено без ошибок.

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

  • Письма попадают в спам — проверьте SPF, DKIM и DMARC записи домена, настройте их через хостинг или DNS-провайдера.
  • Ошибка SMTP Authentication failed — проверьте логин, пароль и настройки безопасности почтового ящика.
  • Письма не отправляются, но тест SMTP успешен — проверьте, что в WooCommerce включена отправка писем (WooCommerce → Настройки → Электронные письма).
  • Письма не отправляются после обновления WordPress или WooCommerce — проверьте логи на наличие ошибок, отключите недавно добавленные плагины или кастомный код.

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

  • Используйте специализированный SMTP-сервис (SendGrid, Mailgun, Яндекс SMTP) для улучшения доставки и отслеживания писем.
  • Регулярно обновляйте WordPress, WooCommerce и плагины для избежания уязвимостей.
  • Ограничьте количество плагинов, влияющих на почту, чтобы снизить вероятность конфликтов.
  • Активируйте логирование почты только при отладке, чтобы не нагружать базу данных.

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

СпособПлюсыМинусыРекомендации
Стандартный PHP mail()Простота использования, без настроекНизкая надежность, часто блокируется хостингомИспользовать только для тестов
SMTP через плагин (WP Mail SMTP)Высокая надежность, удобство настройки, поддержка популярных почтовиковТребует конфигурации, возможны ошибки авторизацииРекомендуется для большинства сайтов
Встроенная SMTP настройка с phpmailer_initГибкость, контроль кодаНеудобно для новичков, сложности с обновлениемДля опытных разработчиков, если плагин нежелателен
Решение ошибки XML-RPC Disabled в WordPress: практическое руководство
15.03.2026
Решение ошибки WP Login Redirect после сброса пароля в WordPress
22.03.2026
Как исправить ошибку дублирования артикулов (SKU) в WooCommerce
20.05.2026
Решение ошибки WP REST API 401 Unauthorized в WordPress
25.02.2026
Как исправить проблему с неработающим WooCommerce Cart AJAX на сайте WordPress
28.05.2026