Диагностика проблем с отправкой писем в WooCommerce
Когда WooCommerce перестаёт отправлять уведомления покупателям или администратору, первым делом нужно проверить следующие моменты:
- Настройки email в WooCommerce (WooCommerce → Настройки → Email): активированы ли нужные уведомления;
- Работоспособность почтового сервера хостинга — часто письма просто не уходят из-за блокировок;
- Конфликты с плагинами безопасности или SMTP;
- Ошибки в логах сервера или WooCommerce (включите логирование в настройках email);
- Фильтры спама на стороне почтового клиента получателя.
Пошаговое решение проблемы с отправкой писем
1. Проверка и включение нужных email уведомлений
Перейдите в WooCommerce > Настройки > Email. Убедитесь, что уведомления типа "Новый заказ", "Заказ выполнен" и другие, которые важны, включены и адреса получателей указаны корректно.
2. Настройка SMTP для отправки почты
Большинство проблем с отправкой писем связано с тем, что сервер хостинга не настроен для корректной отправки почты. Для надежности рекомендую использовать SMTP плагин, например WP Mail SMTP. После установки:
- Выберите SMTP-сервер (например, Gmail, Яндекс, Mail.ru или ваш корпоративный SMTP);
- Настройте аутентификацию (логин, пароль);
- Протестируйте отправку через встроенный тест почты;
- Активируйте плагин.
add_action('phpmailer_init', function($phpmailer) {
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.example.com';
$phpmailer->SMTPAuth = true;
$phpmailer->Port = 587;
$phpmailer->Username = 'user@example.com';
$phpmailer->Password = 'password';
$phpmailer->SMTPSecure = 'tls';
$phpmailer->From = 'shop@example.com';
$phpmailer->FromName = 'Магазин';
});3. Проверка хуков WooCommerce для отправки писем
Иногда сторонние плагины или кастомный код мешают отправке писем. Проверьте, не отключены ли стандартные хуки WooCommerce:
remove_action('woocommerce_order_status_pending_to_processing_notification', 'woocommerce_send_customer_processing_order_notification');
remove_action('woocommerce_order_status_completed_notification', 'woocommerce_send_customer_completed_order_notification');Если подобные удаления есть — закомментируйте их или удалите.
4. Логирование ошибок отправки
В WooCommerce можно включить запись логов в WooCommerce > Статус > Логи. Там будут сообщения об ошибках SMTP или других проблемах. Это поможет найти причину.
Проверка результата после внедрения
После настройки SMTP и проверки email уведомлений:
- Создайте тестовый заказ с вашим email;
- Проверьте, приходит ли уведомление о новом заказе и смене статуса;
- Если письма не приходят, проверьте папку "Спам" и логи сервера;
- Используйте плагин
Email Logдля отладки отправки писем.
Частые ошибки и способы их исправления
- Письма уходят в спам: Проверьте SPF, DKIM и DMARC записи домена. Настройте их у регистратора или хостера.
- Письма не отправляются вообще: Возможно, хостинг блокирует функцию
mail(). Используйте SMTP. - Конфликт плагинов SMTP: Используйте только один SMTP плагин, отключите остальные.
- Пользователь вводит неправильный email: Добавьте валидацию email на этапе оформления заказа.
Практические советы по безопасности и производительности
- Используйте SMTP с защищённым соединением (SSL/TLS) для защиты данных;
- Регулярно обновляйте WooCommerce и почтовые плагины;
- Отключайте ненужные email уведомления, чтобы снизить нагрузку;
- Используйте кеширование страниц, но исключайте страницы оформления заказа и корзины;
- Проверяйте логи и статистику email для своевременного выявления проблем.
Сравнение вариантов настройки отправки писем
| Способ | Преимущества | Недостатки | Когда использовать |
|---|---|---|---|
| Стандартная функция mail() | Простота, не требует доп. настроек | Высокий риск попадания в спам, блокировки хостинга | Маленькие сайты без проблем с почтой |
| SMTP плагин (например, WP Mail SMTP) | Надежная отправка, поддержка популярных почтовых сервисов | Требует настройки, возможны сложности с аутентификацией | Любой магазин, требующий стабильной доставки писем |
| Внешний сервис (SendGrid, Mailgun и др.) | Высокая доставка, аналитика, масштабируемость | Платные тарифы, сложность интеграции | Средние и крупные магазины с большим трафиком |