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

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

Проблемы с отправкой писем подтверждения заказа — частая головная боль в WooCommerce. Клиенты жалуются, что не получают письма, или получают с ошибками, либо письма приходят в спам. Для начала нужно понять, где именно сбой.

  • Проверка настроек почты: в WooCommerce перейдите в WooCommerce > Настройки > Email и убедитесь, что включены нужные уведомления (например, "Новый заказ", "Заказ обработан").
  • Тест отправки: используйте плагин WP Mail SMTP для отправки тестового письма. Если тест не проходит, проблема в сервере или настройках SMTP.
  • Логи WooCommerce: в разделе Email можно включить логи и посмотреть, проходят ли попытки отправки.
  • Конфликт плагинов или темы: временно отключите сторонние плагины, особенно те, что работают с почтой или изменяют шаблоны писем. Проверьте стандартную тему (например, Storefront).

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

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

По умолчанию WordPress использует функцию wp_mail(), которая опирается на mail() сервера. Это часто приводит к попаданию писем в спам или их потере. Настройка SMTP решает проблему.

Используйте плагин WP Mail SMTP:

  1. Установите и активируйте плагин.
  2. В разделе WP Mail SMTP > Настройки выберите почтовый сервис (например, Gmail, Mailgun, SMTP-сервер вашего хостинга).
  3. Укажите необходимые данные: сервер SMTP, порт, логин, пароль.
  4. Отправьте тестовое письмо и убедитесь, что оно доставлено.

2. Проверка и исправление шаблонов писем WooCommerce

Если письма приходят с ошибками или в некорректном формате, возможно, шаблоны были модифицированы неправильно.

Проверьте, нет ли переопределений шаблонов в папке темы /woocommerce/emails/. Для возврата к стандартным шаблонам:

rm -rf wp-content/themes/ваша-тема/woocommerce/emails

Или замените изменённые файлы на оригинальные из плагина WooCommerce.

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

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

add_action('woocommerce_order_status_processing', 'custom_send_order_email', 10, 1);function custom_send_order_email($order_id) {
    if (!$order_id) return;
    $order = wc_get_order($order_id);
    WC()->mailer()->get_emails()['WC_Email_Customer_Processing_Order']->trigger($order_id);
}

Этот код повторно отправит письмо клиенту при смене статуса заказа на «В обработке».

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

  • Отправьте тестовый заказ в WooCommerce с вашим email.
  • Убедитесь, что письмо подтверждения приходит в основной почтовый ящик (не в спам).
  • Проверьте логи WP Mail SMTP и WooCommerce для ошибок отправки.
  • Попросите коллег или клиентов подтвердить получение писем.

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

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

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

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

Сравнение способов настройки отправки писем

СпособПреимуществаНедостатки
Функция mail() по умолчаниюПростая настройка, не требует дополнительных плагиновПлохая доставка, письма попадают в спам, зависит от конфигурации хостинга
Настройка SMTP через WP Mail SMTPНадёжная доставка, поддержка популярных сервисов, логированиеТребует дополнительной настройки, возможны сложности с авторизацией
Использование сторонних плагинов для отправки писемРасширенные функции, аналитика, интеграцииМожет конфликтовать с WooCommerce, дополнительная нагрузка
Как автоматизировать обновление метаданных в WordPress
09.01.2026
Как отфильтровать и удалить неактивных пользователей в WordPress
21.01.2026
WooCommerce: как успешно настроить генерацию PDF-фактур без плагинов
10.05.2026
Оптимизация загрузки и отображения библиотек JS и CSS в WordPress
25.12.2025
Автоматизация создания контента в WordPress с помощью WPGPT
30.12.2025