Диагностика проблемы с отправкой писем в WooCommerce
Если WooCommerce перестал отправлять уведомления покупателям о смене статуса заказа, нужно проверить несколько ключевых моментов. Часто проблема кроется в настройках самого WooCommerce, конфликте с плагинами или ошибках на уровне сервера SMTP.
Что проверить в первую очередь
- Включены ли уведомления в WooCommerce — раздел WooCommerce > Настройки > Электронные письма.
- Корректно ли указываются email-адреса получателей.
- Не блокируются ли письма сервером хостинга (проверить логи или обратиться в поддержку).
- Отсутствие конфликтов с плагинами безопасности и SMTP.
- Работает ли базовая функция
wp_mail()на сайте.
Пошаговое решение: как исправить отправку писем о статусах заказов
1. Проверяем и включаем уведомления WooCommerce
Перейдите в WooCommerce > Настройки > Электронные письма и убедитесь, что нужные уведомления (например, "Заказ обработан", "Заказ выполнен") включены и корректно настроены.
2. Тестируем функцию wp_mail()
Чтобы проверить, работает ли отправка писем на уровне WordPress, добавьте следующий код в файл functions.php вашей темы или в отдельный плагин:
add_action('init', function() {
if (isset($_GET['test_mail'])) {
wp_mail('ваш_email@domain.com', 'Тест wp_mail', 'Это тестовое письмо для проверки wp_mail.');
exit('Письмо отправлено, проверьте почту');
}
});Перейдите по адресу https://ваш_сайт/?test_mail=1. Если письмо пришло — функция работает, значит проблема внутри WooCommerce или SMTP. Если нет — проблема на уровне сервера.
3. Устанавливаем SMTP-плагин
Если функция wp_mail() не работает, рекомендуем использовать плагин WP Mail SMTP. Настройте его с данными вашего SMTP-сервера (Gmail, Яндекс, Mail.ru и т.п.) для гарантированной доставки писем.
4. Отключаем конфликтующие плагины
Отключите все плагины, кроме WooCommerce и SMTP, и проверьте, отправляются ли письма. Если да — включайте плагины по одному, чтобы найти конфликтующий.
5. Проверяем тему на совместимость
Активируйте стандартную тему WordPress (например, twentytwentyone) и проверьте отправку писем. Если заработало — проблема в вашей теме, возможно, переопределяются шаблоны email WooCommerce.
Проверка результата после внедрения
После внесения изменений сделайте тестовый заказ и переведите его статус вручную (через админку WooCommerce). Проверьте, приходит ли уведомление на email покупателя. В логах сервера также можно отследить попытки отправки писем (если включено логирование SMTP).
Частые ошибки и как их исправить
- Письма попадают в спам — проверьте SPF, DKIM и DMARC записи домена, используйте SMTP с авторизацией.
- Неправильный email администратора — WooCommerce отправляет письма с адреса, указанного в настройках сайта; проверьте
Настройки > Общие. - Внешние SMTP не настроены — без SMTP письма часто блокируются хостингом.
- Кэширование почтовых функций — отключите плагин кэширования для страниц отправки email или исключите wp_mail из кэширования.
- Переопределение шаблонов email темой — проверьте папку
woocommerce/emailsв теме на наличие кастомных шаблонов, иногда они вызывают ошибки.
Практические советы по безопасности и производительности
- Используйте SMTP-серверы с поддержкой шифрования TLS/SSL для защиты данных.
- Отключайте ненужные уведомления для снижения нагрузки сервера.
- Используйте плагины типа Clearfy Pro для оптимизации WooCommerce и управления email-уведомлениями.
Сравнение способов организации отправки писем в WooCommerce
| Метод | Плюсы | Минусы | Когда использовать |
|---|---|---|---|
Стандартная функция wp_mail() | Простота, встроена в WordPress | Зависит от настроек хостинга, часто блокируется | Малонагруженные сайты, проверка на уровне WP |
| Плагин SMTP (WP Mail SMTP) | Надёжная доставка, поддержка популярных сервисов | Требует настройки, может быть платным при использовании премиум-сервисов | Все сайты с реальной нагрузкой и массовой рассылкой |
| Внешние сервисы (SendGrid, Mailgun) | Профессиональная доставка, аналитика, масштабируемость | Сложнее настройка, дополнительная стоимость | Интернет-магазины с большим объёмом заказов |