WooCommerce: почему не отправляется письмо подтверждения заказа и как это исправить

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

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

  • Работоспособность почтового сервера хостинга.
  • Настройки WooCommerce и WordPress, связанные с отправкой почты.
  • Совместимость с установленными плагинами, особенно кэширования и безопасности.
  • Ошибки в логах сервера и WordPress.
  • Корректность шаблонов писем WooCommerce.

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

Самый простой способ — использовать плагин Check Email. Он позволяет отправить тестовое письмо и проверить, получает ли сервер почту. Если тест не проходит, проблема в сервере или настройках PHP.

Проверка логов WooCommerce и сервера

В WooCommerce включите логирование писем:
Настройки > WooCommerce > Статус > Логи. Ищите ошибки, связанные с отправкой почты.

Также проверьте error_log и mail.log на сервере (настройки зависят от хостинга).

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

1. Настройка SMTP для WordPress

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

1. Установите и активируйте плагин WP Mail SMTP.
2. Перейдите в настройки плагина и выберите SMTP-сервер (например, Gmail, Yandex, или свой почтовый сервер).
3. Укажите SMTP-хост, порт, шифрование, логин и пароль.
4. Отправьте тестовое письмо из настроек плагина и убедитесь, что оно дошло.

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

Если шаблон письма повреждён или устарел, письмо не отправится или придёт пустым. Проверьте папку wp-content/themes/ваша_тема/woocommerce/emails/. Если шаблоны там есть, временно переименуйте папку, чтобы использовать дефолтные шаблоны WooCommerce.

3. Отключение конфликтующих плагинов

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

4. Проверка прав на файл wp-config.php и наличие корректных настроек PHP

Убедитесь, что на сервере разрешена функция mail() и нет ограничений на отправку почты. Проверьте также, что в wp-config.php нет лишних директив, блокирующих почту.

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

  • Отправьте новый тестовый заказ на сайте.
  • Проверьте, пришло ли письмо подтверждения на указанный email.
  • Зайдите в WooCommerce > Статус > Логи — убедитесь, что нет ошибок по почте.
  • Используйте плагин WP Mail Logging для просмотра всех отправленных писем.
  • Попросите клиента подтвердить получение письма, если тест делали на рабочем магазине.

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

  • Письма попадают в спам. Настройте SPF, DKIM и DMARC-записи для домена почты. Используйте SMTP с проверенными серверами.
  • Письмо не отправляется, но тестовое из WP Mail SMTP уходит. Проверьте, нет ли ошибок в шаблонах WooCommerce или конфликтов с другими плагинами.
  • Письма отправляются с задержкой. Проверьте нагрузку на сервер и очередь почтового сервиса.
  • PHP функция mail() отключена на хостинге. Обязательно настройте SMTP.

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

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

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

СпособПлюсыМинусыКогда использовать
Стандартная функция wp_mail()Не требует установки плагиновЧасто блокируется хостингом, нет шифрованияМаленькие сайты без проблем с хостингом
SMTP через WP Mail SMTPНадёжная доставка, шифрование, логированиеНужно дополнительное время на настройкуМагазины с большим трафиком и требованиями к надежности
Внешние сервисы (SendGrid, Mailgun)Масштабируемость, аналитика, высокая доставкаПлатные тарифы, сложность интеграцииКрупные проекты, массовые рассылки

Пример настройки SMTP через WP Mail SMTP

add_action('phpmailer_init', function($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = 'smtp.yourdomain.com';
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Port       = 587;
    $phpmailer->Username   = 'user@yourdomain.com';
    $phpmailer->Password   = 'yourpassword';
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->From       = 'store@yourdomain.com';
    $phpmailer->FromName   = 'Your Store Name';
});
Отладка выполнения AJAX-запросов в WordPress
04.12.2025
Создание динамического фильтрованного списка постов в WordPress
28.02.2026
Как создать Multisite-сеть в WordPress: подробные настройки и примеры
05.02.2026
WooCommerce: правильная настройка отправки писем подтверждения заказа
18.04.2026
WooCommerce: решение проблем с массовым изменением остатков товара и синхронизацией
16.05.2026