WooCommerce: решение проблемы с неотсылкой писем после покупки

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

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

  • Перейдите в WooCommerce > Настройки > Email и убедитесь, что нужные уведомления активированы.
  • Проверьте почтовый адрес администратора в Настройки > Общие.

Далее следует проверить, работает ли вообще отправка почты с сайта. Это легко сделать с помощью плагина Check & Log Email или с помощью простого тестового скрипта:

<?php
test_mail() {
  $to = 'ваш_email@пример.ком';
  $subject = 'Тестовая отправка';
  $message = 'Проверка отправки почты с сайта';
  $headers = array('Content-Type: text/html; charset=UTF-8');
  return wp_mail($to, $subject, $message, $headers);
}

add_action('wp_loaded', function() {
  if (isset($_GET['test_mail'])) {
    if (test_mail()) {
      echo 'Почта отправлена успешно';
    } else {
      echo 'Ошибка отправки почты';
    }
    exit;
  }
});

Зайдите по URL https://ваш-сайт/?test_mail=1 и посмотрите результат.

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

1. Настройка SMTP

Частая причина — некорректная работа функции wp_mail() из-за ограничений хостинга или блокировок.

Рекомендуется использовать SMTP-сервер для отправки писем. Для этого можно установить плагин WP Mail SMTP или Post SMTP.

Пример минимальной настройки SMTP с использованием WP Mail SMTP:

  • Установите и активируйте плагин.
  • В настройках введите SMTP-сервер вашего почтового провайдера (например, Gmail, Яндекс, или корпоративный SMTP).
  • Укажите порт (обычно 465 для SSL или 587 для TLS), логин и пароль.
  • Включите режим отладки для логирования ошибок.

2. Очистка кэша и проверка плагинов

Кэширование и конфликт плагинов могут блокировать отправку писем. Временно отключите плагины кэширования (например, WP Super Cache, W3 Total Cache) и протестируйте отправку.

Если после отключения кэша письма начали отправляться, настройте исключения для функций отправки почты.

3. Проверка темы и кастомного кода

Если у вас есть кастомные функции, связанные с заказами или отправкой писем, временно переключитесь на стандартную тему (например, Twenty Twenty-Three) и отключите кастомный код. Это поможет выявить, не мешает ли что-то из вашей разработки.

4. Логирование отправки писем

Для отслеживания проблем полезно использовать плагин WP Mail Logging или аналогичный. Он покажет, какие письма формируются и отправляются ли они на уровне WordPress.

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

Для проверки работоспособности отправки email после настройки SMTP или исправления проверьте следующие:

  • Создайте тестовый заказ в WooCommerce (используйте статус «Обработка» или «Завершён» в зависимости от настроек).
  • Проверьте, пришли ли письма на почту администратора и покупателя.
  • Проверьте логи плагина отправки почты на предмет ошибок.

Если письма приходят, проблема решена.

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

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

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

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

Сравнение вариантов отправки почты в WooCommerce

МетодПлюсыМинусыКогда использовать
PHP mail()Простота, не требует настройкиПлохая доставка, блокировки хостингомДля простых сайтов без проблем с почтой
SMTP через WP Mail SMTPНадежная доставка, шифрованиеТребует настройки, возможны сложности с провайдеромРекомендуется для большинства проектов
Транзакционные сервисы (SendGrid, Mailgun)Максимальная надежность и масштабируемостьПлатные, интеграция требует времениДля больших магазинов и проектов с высокой нагрузкой
Добавление поля телефона в форму регистрации WordPress с подтверждением номера
12.01.2026
Как отключить Jetpack в WordPress по условиям: практические способы и примеры кода
26.01.2026
Как автоматизировать создание резервных копий WordPress
29.11.2025
WooCommerce: как автоматически удалять отменённые заказы и товары с нулевым остатком
07.06.2026
Как создать и использовать REST API эндпоинты в WordPress
26.12.2025