WooCommerce: отладка проблем с отправкой писем после оформления заказа

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

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

Проверяем базовую работоспособность почты в WordPress

Создайте простой тестовый скрипт для отправки почты через wp_mail(). Добавьте в файл functions.php темы или запустите через плагин Code Snippets следующий код:

function wpdo_test_mail() {
    $to = 'ваш_email@example.com';
    $subject = 'Тестовое письмо от WordPress';
    $message = 'Если вы получили это письмо, отправка работает.';
    $headers = array('Content-Type: text/html; charset=UTF-8');
    wp_mail($to, $subject, $message, $headers);
}
add_action('init', 'wpdo_test_mail');

После обновления страницы сайта проверьте почтовый ящик. Если письмо не пришло, проблема на уровне сервера или настройки SMTP.

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

  • Включите логирование в WooCommerce: WooCommerce > Статус > Логи. Посмотрите ошибки по отправке почты.
  • Проверьте логи почтового сервера и PHP (обычно error_log), чтобы найти ошибки с функцией mail() или SMTP.

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

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

Функция wp_mail() использует mail() PHP, которая часто блокируется или неправильно настроена на хостинге. Рекомендуется настроить SMTP-сервер:

  • Установите плагин WP Mail SMTP.
  • Выберите SMTP-сервер вашего почтового провайдера (Gmail, Яндекс, Mail.ru и т.п.) или корпоративный SMTP.
  • Введите логин, пароль, порт и шифрование (SSL/TLS).

После настройки отправьте тестовое письмо из настроек плагина.

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

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

  • Перейдите в WooCommerce > Настройки > Электронные письма.
  • Проверьте включены ли необходимые уведомления (например, «Новый заказ», «Обработка заказа»).
  • Если шаблоны были переопределены в теме, временно отключите их, переименовав папку woocommerce/emails в вашей теме.

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

Некоторые плагины могут блокировать отправку почты или перехватывать письма WooCommerce.

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

4. Настройка CRON задач для отложенной отправки

Если на вашем сайте настроены задержки для отправки писем через wp_cron, убедитесь, что система WP-Cron работает корректно или замените его системной задачей cron на сервере.

# Пример системной cron задачи для WordPress
*/5 * * * * wget -q -O - https://ваш_сайт.ru/wp-cron.php?doing_wp_cron >/dev/null 2>&1

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

  • Создайте тестовый заказ в WooCommerce с реальным email.
  • Проверьте получение уведомлений на почту покупателя и администратора.
  • Проверьте логи WooCommerce и SMTP плагина на предмет ошибок.
  • Проверьте папку «Исходящие» или логи SMTP сервера (если доступны).

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

  • Письма попадают в спам: Проверьте SPF, DKIM и DMARC записи для домена.
  • SMTP плагин не отправляет письма: Проверьте правильность логина/пароля, порт и тип шифрования.
  • Письма не отправляются после обновления WooCommerce: Проверьте переопределённые шаблоны и обновите их до актуальной версии.
  • CRON задачи не работают: Настройте системный cron или активируйте альтернативные решения, например WP Crontrol.

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

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

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

МетодПлюсыМинусыКомпромисс
Стандартная wp_mail()Не требует настройки, встроена в WPМожет не работать на некоторых хостингах, письма попадают в спамИспользовать только для тестирования
Плагин SMTP (WP Mail SMTP)Надежная отправка, поддержка шифрованияНужно правильно настроить, возможно платный тариф почтыЛучший вариант для большинства сайтов
Внешние сервисы (SendGrid, Mailgun)Высокая доставляемость, аналитикаСложнее в настройке, может требовать оплатыДля крупных магазинов с большим объемом писем
Оптимизация загрузки шаблонов WordPress: практические советы от WPDO
19.11.2025
Как удалить или скрыть страницу из поиска WordPress
19.12.2025
Как создать настройку для оптимизации базы данных WordPress
19.02.2026
Как автоматизировать удалённые обновления в WordPress без плагинов
07.02.2026
WooCommerce: отладка проблем с оплатой через Яндекс.Кассу после обновления
16.05.2026