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

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

Проблемы с отправкой писем после оформления заказа — частая боль для владельцев WooCommerce-магазинов. Чтобы начать диагностику, убедитесь, что:

  • Почтовый сервер на хостинге работает корректно.
  • Письма не попадают в спам или не блокируются почтовыми сервисами.
  • В WooCommerce включена отправка уведомлений.
  • Нет конфликтов с другими плагинами или темой.

Для проверки почтовой системы рекомендуем использовать плагин Check Email (https://ru.wordpress.org/plugins/check-email/). Он отправит тестовое письмо на указанный адрес и покажет результат.

Проверка логов почты

Если хостинг поддерживает логи почты, изучите их на наличие ошибок. В случае если логов нет, установите плагин WP Mail Logging (https://ru.wordpress.org/plugins/wp-mail-logging/) для записи всех писем, которые WordPress пытается отправить.

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

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

Стандартный wp_mail() использует PHP-функцию mail(), которая часто блокируется хостингом или попадает в спам. Лучшее решение — настроить SMTP-сервер.

Для этого используйте плагин WP Mail SMTP (https://ru.wordpress.org/plugins/wp-mail-smtp/). В настройках укажите данные SMTP вашего почтового сервиса (Gmail, Yandex, Mail.ru или корпоративной почты).

Настройки SMTP для Gmail:<br>SMTP Host: smtp.gmail.com<br>SMTP Port: 587<br>Encryption: TLS<br>Username: your-email@gmail.com<br>Password: app-password<br>

2. Проверка настроек WooCommerce

В админке WordPress перейдите WooCommerce > Настройки > Электронная почта. Убедитесь, что уведомления активированы и адреса получателей правильные.

Особое внимание уделите таким уведомлениям, как "Новый заказ" и "Заказ завершён".

3. Отключение плагинов, влияющих на почту

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

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

4. Проверка темы

Иногда темы переопределяют шаблоны писем WooCommerce и вызывают сбои. Активируйте стандартную тему WordPress (например, Twenty Twenty-Three) и проверьте отправку писем.

Как проверить, что проблема решена

Отправьте тестовый заказ на сайте, используя тестовый аккаунт. Мониторьте:

  • Появление уведомления о новом заказе у администратора.
  • Письмо с подтверждением для клиента.
  • Логи плагина WP Mail Logging — появление записей без ошибок.

Также проверьте папку "Спам" в почтовом ящике.

Частые ошибки и способы их исправления

  • Письма не отправляются, но ошибок нет в логах: Возможно, хостинг блокирует функцию mail(). Решение — настройка SMTP.
  • Письма попадают в спам: Используйте SPF, DKIM и DMARC-записи в DNS для вашего домена. Проверьте их через сервисы вроде https://mxtoolbox.com.
  • Письма отправляются не с нужного адреса: Настройте параметр From в WP Mail SMTP и WooCommerce.
  • Конфликты плагинов: Отключайте поочерёдно плагины, чтобы найти вызывающий проблему.

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

  • Не храните в коде пароли — используйте переменные окружения или define в wp-config.php.
  • Используйте специализированные SMTP-сервисы (SendGrid, Mailgun, Amazon SES) для надёжной доставки и статистики.
  • Регулярно обновляйте WooCommerce, тему и плагины для совместимости и безопасности.
  • Ограничьте количество плагинов, влияющих на почту, чтобы избежать конфликтов.

Таблица сравнения способов отправки писем в WooCommerce

МетодПреимуществаНедостаткиРекомендации
PHP mail()Встроено, не требует настроекВысокий риск попадания в спам, блокировки хостингомИспользовать для теста, не для продакшена
SMTP через WP Mail SMTPНадежность доставки, поддержка популярных сервисовТребуется настройка, возможна задержкаЛучший вариант для большинства магазинов
SMTP-сервисы (SendGrid, Mailgun)Высокая скорость, аналитика, масштабируемостьНеобходима регистрация и настройкаДля больших магазинов и профессионалов

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

add_filter('woocommerce_email_from_address', 'custom_woocommerce_email_from_address');<br>function custom_woocommerce_email_from_address($from_email) {<br>    return 'no-reply@yourdomain.com';<br>}<br><br>add_filter('woocommerce_email_from_name', 'custom_woocommerce_email_from_name');<br>function custom_woocommerce_email_from_name($from_name) {<br>    return 'Название вашего магазина';<br>}

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

function send_test_email() {<br>    $mailer = WC()->mailer();<br>    $message = 'Тестовое письмо от WooCommerce';<br>    $mailer->send('your-email@example.com', 'Тест письма', $message);<br>}<br>add_action('admin_init', 'send_test_email');
Как удалить Emoji из WordPress для ускорения сайта
11.03.2026
Как удалить категорию из URL в WordPress
22.02.2026
Как создать свой виджет для WordPress
25.11.2025
WooCommerce: отладка проблем с отправкой писем после оформления заказа
30.04.2026
Как использовать хуки в WordPress для расширения функциональности
29.11.2025