Почему в WooCommerce не отправляются письма о возврате средств и как это исправить

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

Если в вашем магазине WooCommerce клиенты не получают уведомления о возврате средств, это может привести к недопониманию и конфликтам. Прежде чем приступать к исправлению, важно проверить следующие моменты:

  • Включена ли отправка email уведомлений о возврате в настройках WooCommerce.
  • Работает ли базовая отправка почты из WordPress (например, письма о новых заказах).
  • Не блокирует ли сервер отправку почты или письма не попадают в спам.
  • Не конфликтует ли тема или плагины с системой отправки писем.

Как проверить включена ли отправка писем о возврате

В панели администратора WordPress перейдите в WooCommerce → Настройки → Email. Найдите письмо с названием Возврат средств (Refunded order) и убедитесь, что оно включено (Enabled). Проверьте адрес для отправки и шаблон письма.

Проверка базовой отправки писем

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

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

1. Включите и настройте SMTP для надежной отправки почты

Стандартная функция wp_mail() часто не работает из-за настроек сервера. Используйте плагин SMTP, например WP Mail SMTP. После установки:

  1. Настройте SMTP-сервер (Gmail, Яндекс, или ваш почтовый сервер).
  2. Проверьте тестовую отправку письма из настроек плагина.
  3. Убедитесь, что письма из WooCommerce теперь отправляются.

2. Добавьте отладочный код для проверки вызова email о возврате

Чтобы узнать, вызывается ли функция отправки письма о возврате, добавьте следующий код в файл functions.php вашей темы или в плагин для кастомных функций:

add_action('woocommerce_order_refunded_notification', function($order_id, $refund_id) {
    error_log('Письмо о возврате для заказа #'.$order_id.' и возврата #'.$refund_id.' отправлено');
}, 10, 2);

После выполнения возврата проверьте файл debug.log в папке wp-content (для этого должен быть включен WP_DEBUG_LOG в wp-config.php).

3. При необходимости вручную отправьте письмо о возврате

Иногда WooCommerce не отправляет письмо автоматически. Вы можете отправить его программно:

$order = wc_get_order($order_id);
if ($order) {
    WC()->mailer()->get_emails()['WC_Email_Customer_Refunded_Order']->trigger($order_id);
}

Этот код можно использовать для отладки или добавить в кастомный скрипт.

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

Для проверки исправности:

  1. Создайте тестовый заказ в WooCommerce.
  2. Сделайте возврат части или всей суммы.
  3. Убедитесь, что клиент получил письмо о возврате на указанный email.
  4. Проверьте логи сервера и WordPress на наличие ошибок отправки.

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

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

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

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

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

МетодПлюсыМинусыКогда использовать
Встроенная отправка WooCommerceСтандартный механизм, не требует установки плагиновЧасто не работает из-за настроек сервераМаленькие сайты с корректной почтой на сервере
SMTP плагин (WP Mail SMTP)Надежная отправка, контроль через внешние SMTP-серверыТребует настройки и иногда платный SMTP-сервисЛюбые сайты, особенно на shared-хостингах
Ручной вызов отправки письмаПолный контроль, можно интегрировать в кастомные процессыТребует знаний PHP, не автоматическийОтладка, нестандартные сценарии возврата
Как изменить и удалить стандартную регистрацию WordPress
26.11.2025
Как использовать REST API для создания нестандартных запросов в WordPress
06.03.2026
Как удалить верстку WordPress без потери функциональности
29.11.2025
Как создать Custom Post Type в WordPress с примерами кода
21.11.2025
Как автоматизировать удаление старых пакетов подключений в WordPress
22.03.2026

Хотите научиться создавать сайты и зарабатывать на этом от 30 000 рублей в месяц?

Записаться на курс сейчас