wpnotes.ru wordpress WP Notes

Как исправить проблемы с отправкой уведомлений о заказах в WooCommerce

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

Если уведомления о новых заказах не приходят на почту, первым делом нужно проверить, где возникает сбой: на стороне WooCommerce, сервера или почтового сервиса. Основные симптомы:

  • Заказы создаются, но письма не приходят;
  • Проверка логов почты показывает ошибки;
  • Другие письма с сайта (например, сброс пароля) приходят нормально.

Для диагностики используйте следующие инструменты:

  • Логи WooCommerce: в «WooCommerce > Статус > Логи» включите и смотрите логи отправки почты;
  • Плагин WP Mail Logging: позволяет фиксировать попытки отправки писем и их статус;
  • Проверка SMTP: убедитесь, что PHP mail() работает или настройте SMTP для отправки почты.

Проверка корректности настроек уведомлений WooCommerce

В админке WordPress перейдите в «WooCommerce > Настройки > Электронные письма» и проверьте:

  • Включены ли уведомления «Новый заказ» и «Обработка заказа»;
  • Правильность указанных email-адресов получателей;
  • Корректность шаблонов писем.

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

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

Почтовая функция PHP mail() часто блокируется хостингом или попадает в спам. Лучшее решение — SMTP. Пример настройки с плагином WP Mail SMTP:

1. Установите и активируйте плагин WP Mail SMTP.
2. В настройках плагина выберите SMTP как метод отправки.
3. Введите параметры SMTP сервера вашего почтового провайдера, например:
   - SMTP хост: smtp.yourmail.com
   - Порт: 587
   - Шифрование: TLS
   - Логин и пароль от почты
4. Сохраните настройки и отправьте тестовое письмо.

Если нет доступа к SMTP, можно использовать сервисы типа Gmail, Mailgun, SendGrid с их параметрами.

2. Принудительная отправка почты через wp_mail и проверка хуков

Иногда сторонние плагины или тема могут вмешиваться в отправку писем. Проверьте, что не отключен хук WooCommerce 'woocommerce_email_enabled_new_order':

add_filter('woocommerce_email_enabled_new_order', '__return_true');

Также можно добавить логирование отправки:

add_action('woocommerce_email_after_send', function($email_id, $sent, $order, $email_object) {
    if ($email_id === 'new_order' && !$sent) {
        error_log('Ошибка отправки email нового заказа: ' . $order->get_id());
    }
}, 10, 4);

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

Отключите все плагины, кроме WooCommerce, и переключитесь на стандартную тему (например, Storefront). Если письма начнут отправляться — ищите конфликт с отключенными плагинами или темой.

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

Чтобы убедиться, что уведомления работают:

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

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

  • Письма попадают в спам. Проверьте SPF, DKIM и DMARC записи домена, используйте SMTP с авторизацией, и валидируйте содержимое письма.
  • Почта не отправляется из-за ограничений хостинга. Свяжитесь с техподдержкой хостинга или используйте внешние SMTP-сервисы.
  • Почта отправляется, но не приходит. Проверьте правильность email получателя в настройках WooCommerce.
  • Проблемы после обновления WooCommerce. Проверьте совместимость плагинов и темы, почитайте логи ошибок.

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

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

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

МетодПлюсыМинусыКогда использовать
PHP mail()Не требует настроек, встроеноНизкая надежность, часто попадает в спамДля тестов или локальной разработки
SMTP через WP Mail SMTPВысокая надежность, контрольТребует настройки и данных SMTPДля боевых сайтов с реальными пользователями
Транзакционные сервисы (Mailgun, SendGrid)Мониторинг, масштабируемостьПлатные тарифы, сложность настройкиБольшие магазины и проекты с большим объемом почты
×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙