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

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

Если письма, которые WooCommerce должен автоматически отправлять после оформления заказа (например, уведомления клиенту или администратору), не доходят, нужно проверить несколько ключевых моментов:

  • Отправляются ли письма вообще? Проверьте лог почты на сервере или используйте плагин для логирования почты, например WP Mail Logging.
  • Настройки SMTP: часто письма не уходят из-за неправильной конфигурации сервера почты.
  • Конфликты с плагинами: некоторые плагины могут переопределять функции отправки почты.
  • Проверить, не попадают ли письма в спам.
  • Проверить настройки WooCommerce в разделе WooCommerce > Настройки > Email.

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

1. Включение логирования писем

Установите и активируйте плагин WP Mail Logging. Проверьте, регистрируются ли попытки отправки писем при оформлении заказа.

2. Настройка SMTP с помощью плагина WP Mail SMTP

Вместо стандартной функции wp_mail() используйте SMTP для надежной доставки. Установите и настройте плагин Clearfy Pro или WP Mail SMTP:

add_action('phpmailer_init', function($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host = 'smtp.example.com';
    $phpmailer->SMTPAuth = true;
    $phpmailer->Port = 587;
    $phpmailer->Username = 'your-email@example.com';
    $phpmailer->Password = 'your-email-password';
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->From = 'your-email@example.com';
    $phpmailer->FromName = 'Your Store Name';
});

Настройте параметры SMTP под ваш почтовый сервис (Gmail, Яндекс, Mail.ru и т.д.).

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

Если вы переопределяли шаблоны писем в wp-content/themes/your-theme/woocommerce/emails/, убедитесь, что они корректно вызывают функцию отправки и не содержат ошибок.

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

Временно деактивируйте плагины, которые могут влиять на почту (например, другие SMTP-клиенты, антиспам).

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

Добавьте в файл functions.php вашей темы следующий код для теста отправки письма:

add_action('init', function() {
    if (isset($_GET['send_test_mail'])) {
        $to = 'your-email@example.com';
        $subject = 'Тестовое письмо WooCommerce';
        $body = 'Если вы получили это письмо, отправка работает.';
        $headers = array('Content-Type: text/html; charset=UTF-8');
        wp_mail($to, $subject, $body, $headers);
        exit('Письмо отправлено');
    }
});

Перейдите по адресу https://ваш-сайт/?send_test_mail=1 и проверьте, приходит ли письмо.

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

  • Оформите тестовый заказ в WooCommerce.
  • Проверьте логи WP Mail Logging — должны появиться успешные записи об отправке писем.
  • Убедитесь, что письма пришли на почту клиента и администратора.
  • Проверьте папку «Спам», если письма не появились во «Входящих».

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

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

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

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

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

МетодПреимуществаНедостаткиПример
Стандартная функция wp_mail()Простая настройка, встроено в WPЗависит от настроек сервера, часто письма не доставляютсяБез дополнительного кода
SMTP через плагин (WP Mail SMTP)Надежная доставка, поддержка внешних почтовых сервисовТребует настройки сервера SMTP, возможны конфликтыПлагин + настройки SMTP
Отправка через сторонние API (Mailgun, SendGrid)Высокая надежность и масштабируемостьДополнительная интеграция и затратыИспользование SDK API
Автоматическое создание отчёта по просмотрам и активности пользователей в WordPress
03.01.2026
Автоматическое создание и отправка PDF счетов в WordPress при оформлении заказа
02.03.2026
Как автоматизировать обновление статусов заказов в WordPress
23.01.2026
WooCommerce: решение проблемы с отправкой писем после оформления заказа
31.05.2026
Автоматизация сохранения черновиков WordPress: лучшие практики и примеры кода
18.11.2025