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

|

Диагностика проблемы: почему WooCommerce не отправляет письма подтверждения

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

Как проверить текущий статус отправки писем

Для начала нужно убедиться, что WooCommerce вообще пытается отправить письма:

  1. В панели WordPress перейдите в WooCommerce → Статус → Журналы. Найдите логи email, если они ведутся.
  2. Проверьте, активны ли email-уведомления в WooCommerce → Настройки → Email. Убедитесь, что уведомления о новом заказе и подтверждении включены.
  3. Сделайте тестовый заказ и проследите, появляется ли в базе данных статус заказа 'processing' или 'completed' (только после этого WooCommerce триггерит отправку письма).

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

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

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

add_action('phpmailer_init', function($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = 'smtp.yourserver.com';
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Username   = 'username@yourdomain.com';
    $phpmailer->Password   = 'yourpassword';
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->Port       = 587;
});

Или используйте плагин WP Mail SMTP с настройками вашего почтового провайдера.

2. Проверка и включение email-уведомлений WooCommerce

В разделе WooCommerce → Настройки → Email проверьте, активированы ли следующие уведомления:

Если они отключены, включите их и сохраните настройки.

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

Отключите все сторонние плагины кроме WooCommerce и переключитесь на стандартную тему (например, Twenty Twenty-Three). Сделайте тестовый заказ. Если письма пошли — проблема в конфликте. Включайте плагины по одному, чтобы выявить виновника.

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

Добавьте следующий код в functions.php вашей темы для логирования отправки email WooCommerce:

add_action('woocommerce_email_before_send', function($email) {
    error_log('Отправка письма WooCommerce: ' . $email->id);
});
<

Проверьте файл debug.log в папке wp-content для подтверждения отправки.

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

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

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

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

МетодПлюсыМинусыПодходит для
Использование PHP mail()Простота, нет необходимости в настройкахЧасто блокируется хостингом, низкая надежностьТестовые и локальные сайты
Настройка SMTP вручную (phpmailer_init)Более надежная отправка, контроль параметровТребует знаний, возможны ошибки в настройкахОпытные разработчики, кастомные решения
Плагин WP Mail SMTPПростота настройки, поддержка популярных сервисовДополнительный плагин, нагрузка на сайтБольшинство сайтов, не желающих вникать в код
Как добавить поддержку видеоплеера HTML5 в WordPress с примерами и плагинами
05.04.2026
Как защитить WordPress от bruteforce-атак с помощью плагинов и кода
24.12.2025
Как создать комплексный фильтр для записей WordPress с несколькими условиями
27.02.2026
Как использовать внешние API в WordPress с помощью AJAX: практическое руководство
02.04.2026
Как удалить meta tag generator в WordPress: практическое руководство
06.01.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше