WooCommerce: как избежать проблемы с отправкой писем после покупки

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

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

  • Проверьте, отправляются ли письма вообще. Для этого можно использовать плагин WP Mail Logging, который записывает все попытки отправки писем.
  • Убедитесь, что сервер поддерживает функцию mail() PHP. Для этого создайте тестовый файл mailtest.php с кодом:
<?php
$to = 'youremail@example.com';
$subject = 'Test mail';
$message = 'This is test mail from server';
$headers = 'From: noreply@yourdomain.com' . "\r\n";

if(mail($to, $subject, $message, $headers)) {
    echo 'Письмо отправлено';
} else {
    echo 'Ошибка отправки';
}
?>

Запустите файл через браузер и проверьте, приходит ли письмо.

Если письмо не приходит, скорее всего, проблема на стороне сервера (блокировка или отсутствие настроенного SMTP).

Проверка настроек WooCommerce для отправки почты

  • Перейдите в WooCommerce → Настройки → Email и проверьте, что нужные уведомления включены и адреса отправки корректны.
  • Проверьте, не отключены ли письма в коде темы или сторонних плагинах (например, через фильтр woocommerce_email_enabled_*).

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

1. Настройка SMTP для отправки почты

PHP-функция mail() часто блокируется хостингом. Решение — использовать SMTP. Для этого установите и настройте плагин WP Mail SMTP (https://wpshop.ru/plugins/clearfy?utm_source=wpbloger.ru&utm_medium=article&utm_campaign=woocommerce-kak-izbezhat-problemy-s-otpravkoy-pisem-posle-pokupki).

Пример настройки с Gmail SMTP:

SMTP Host: smtp.gmail.com
SMTP Port: 587
Encryption: TLS
Authentication: ON
SMTP Username: your-email@gmail.com
SMTP Password: your-app-password

2. Проверка и исправление фильтров, отключающих email

Откройте файл functions.php текущей темы или плагина и ищите код, который может отключать письма:

add_filter('woocommerce_email_enabled_new_order', '__return_false');

Если такие фильтры есть, прокомментируйте или удалите их.

3. Обновление WooCommerce и WordPress

Устаревшие версии иногда вызывают баги с отправкой писем. Обновите WooCommerce и WordPress до последних стабильных версий.

4. Тестирование отправки писем вручную

Можно запустить тестовую отправку через консоль WP-CLI:

wp wc email send --order_id=123 --email=new_order

Замените 123 на ID реального заказа.

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

  • Создайте тестовый заказ в WooCommerce.
  • Проверьте логи плагина WP Mail Logging, что письмо было отправлено.
  • Убедитесь, что письмо пришло на указанный email.
  • Проверьте, что нет ошибок в debug.log WordPress (если включен режим отладки).

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

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

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

  • При использовании SMTP храните пароль в wp-config.php или настройках плагина, избегайте хардкода в открытом виде.
  • Для массовой рассылки заказных писем используйте специализированные сервисы, чтобы избежать блокировок.
  • Регулярно очищайте логи плагина WP Mail Logging, чтобы не перегружать базу данных.
  • Для ускорения сайта отключите ненужные email-уведомления, чтобы минимизировать нагрузку.

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

МетодПлюсыМинусыРекомендации
PHP mail()Простая настройка, нативно поддерживаетсяМожет блокироваться хостингом, письма в спамТолько для тестов, не для продакшена
SMTP через WP Mail SMTPНадежная доставка, поддержка авторизацииНужно настраивать, требует учетных данныхОптимальный выбор для большинства сайтов
Плагины массовой рассылки (SendGrid, Mailgun)Высокая скорость и надежность, аналитикаПлатные сервисы, сложнее настройкаДля больших интернет-магазинов и маркетинга
Автоматическое отключение неиспользуемых плагинов в WordPress
29.01.2026
WooCommerce не работает отправка писем после покупки: что делать
20.04.2026
Как создать собственный виджет WordPress: пошаговое руководство
20.11.2025
Как отключить автоматическое выполнение PHP кода в WordPress
09.02.2026
Автоматическое удаление старых записей WordPress через Cron с примерами кода
25.02.2026