Чому WooCommerce-листи перестають працювати
WooCommerce надсилає листи через функцію WordPress wp_mail(), яка за замовчуванням використовує PHP-функцію mail(). Більшість хостинг-провайдерів блокують або обмежують її. Результат: листи виглядають так, ніби надсилаються, але ніколи не доходять.
Це одна з найпоширеніших проблем підтримки WooCommerce, і майже завжди вона пов'язана з налаштуваннями SMTP, а не з помилкою WooCommerce.
Крок 1: Перевірте налаштування електронної пошти WooCommerce
Перейдіть в WooCommerce → Налаштування → Електронні листи.
Переконайтеся:
- Сповіщення "Нове замовлення" увімкнено та має дійсну адресу отримувача
- "Замовлення клієнта обробляється" увімкнено
- Адреса "Від" походить з вашого реального домену (не Gmail/Hotmail)
Крок 2: Надішліть тестовий лист
Все ще в WooCommerce → Налаштування → Електронні листи, відкрийте будь-який шаблон листа та натисніть "Надіслати тестовий лист".
- Якщо тестовий лист прийшов → WooCommerce працює, проблема в тригерах статусу замовлення
- Якщо тестовий лист не прийшов → доставка пошти WordPress зламана
Крок 3: Встановіть WP Mail SMTP
Цей плагін замінює PHP-пошту на правильне SMTP-з'єднання. Він безкоштовний і вирішує 90% проблем із електронною поштою WordPress.
WooCommerce → Плагіни → Додати новий → пошук "WP Mail SMTP"
Рекомендовані SMTP-провайдери (безкоштовний тариф):
| Провайдер | Безкоштовний ліміт | Найкраще підходить для |
|---|---|---|
| Brevo (Sendinblue) | 300/день | Більшість сайтів |
| Mailgun | 100/день | Розробники |
| SendGrid | 100/день | Вищі обсяги |
| Gmail SMTP | 500/день | Особисті проекти |
Налаштуйте WP Mail SMTP з вашими SMTP-даними, потім використовуйте його інструмент тестування для надсилання тестового листа.
Крок 4: Перевірте папки зі спамом
Попросіть клієнта перевірити спам. Gmail особливо фільтрує транзакційні листи з IP-адрес спільного хостингу.
Якщо листи потрапляють у спам:
- Додайте SPF-запис до DNS вашого домену
- Додайте DKIM-запис (ваш поштовий провайдер згенерує його)
- Переконайтеся, що адреса "Від" збігається з вашим доменом
Крок 5: Перевірте послідовність статусів замовлення
WooCommerce надсилає листи лише при певних змінах статусу:
| Зміна статусу | Надісланий лист |
|---|---|
| Очікує → Обробляється | Клієнт: "Замовлення отримано" |
| Обробляється → Завершено | Клієнт: "Замовлення виконано" |
| Будь-який → Призупинено | Клієнт: "Замовлення призупинено" |
Якщо замовлення переходять одразу в "Завершено" (часто буває з цифровими товарами або деякими платіжними шлюзами) — лист "Обробляється" ніколи не надсилається.
Перевірте: WooCommerce → Замовлення — в якому статусі опиняються нові замовлення?
Крок 6: Перевірте конфлікти плагінів
Деякі плагіни втручаються у надсилання листів WooCommerce і випадково ламають його. Щоб перевірити:
- Вимкніть усі плагіни, крім WooCommerce
- Зробіть тестове замовлення
- Якщо лист прийшов → активуйте плагіни по одному, щоб знайти конфлікт
Крок 7: Перевірте журнал помилок
Додайте в wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Зробіть тестове замовлення та перевірте wp-content/debug.log на наявність помилок, пов'язаних з поштою.
Швидке виправлення
У 9 з 10 випадків: встановіть WP Mail SMTP, налаштуйте його з безкоштовним обліковим записом Brevo або Mailgun — і все готово. Займає близько 15 хвилин.
Якщо проблема складніша — конфлікт, сторонній плагін, неправильна конфігурація DNS — опишіть, що ви бачите, і я швидко проведу діагностику.