WooCommerce

WooCommerce не отправляет письма: 5 причин и починка

МаксимИнженер по WordPress · 10+ лет с WordPress и WooCommerce11 мин чтения36 просмотров

Клиент оформил заказ в WooCommerce, письма нет — ни ему, ни вам. Заказы теряются, конверсия падает. Пять причин и починка через SMTP — не настройки WooCommerce в админке.

В статье
  • Какие письма должен слать WooCommerce
  • Причина 1. Хостинг не разрешает функцию mail()
  • Причина 2. Письма уходят, но падают в спам
  • Причина 3. WP Mail SMTP настроен, но криво

Нужна помощь — доработка WooCommerce.

WooCommerce не отправляет письма: 5 причин и починка

Клиент оплатил заказ, в админке WooCommerce всё зелёное — а письма нет ни ему, ни вам. В практике на Beget и Timeweb это почти всегда отключённый mail() или письма в спаме без SPF. Ниже — пять причин по частоте и чек-лист починки за вечер.

Какие письма должен слать WooCommerce

Типы писем WooCommerce о заказе
WooCommerce шлёт письма клиенту и админу на разных статусах заказа.

По умолчанию WooCommerce отправляет 12 типов писем — 6 клиенту, 6 администратору. Самые важные:

  • Клиенту: подтверждение заказа, в обработке, заказ выполнен, отмена, возврат, сброс пароля.
  • Администратору: новый заказ, отменён, не оплачен, low stock, out of stock.

Если хотя бы одно из этих писем не приходит — теряются продажи и страдает доверие клиента. Разбираем 5 причин, в порядке убывания частоты.

Причина 1. Хостинг не разрешает функцию mail()

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

Признак: в админке заказ появляется, но письмо не приходит ни клиенту, ни администратору. В лог Apache / nginx — никаких ошибок (это и есть проблема: WordPress «думает», что отправил, но реально письмо не ушло).

Решение: подключить SMTP-плагин (WP Mail SMTP — самый стабильный). Пошаговая настройка SMTP для всего WordPress — в статье «SMTP для WordPress за 30 минут». Плагин подменяет mail() на авторизованную отправку через настоящий SMTP-сервер.

Настройка WP Mail SMTP для WooCommerce
WP Mail SMTP + тестовое письмо — первый шаг после отказа mail().

Причина 2. Письма уходят, но падают в спам

Если письма из тестовой формы доходят, а от WooCommerce — в спам, проблема в репутации домена. У почтовых сервисов есть три проверки: SPF, DKIM, DMARC. Если в DNS вашего домена нет SPF и DKIM — Gmail и Mail.ru с высокой вероятностью отправят письмо в спам.

Как проверить

Проверка доставляемости писем mail-tester
mail-tester.com — цель 9–10 из 10 перед запуском рекламы на магазин.

Через сервис mail-tester.com: получаете специальный email, отправляете на него тестовое письмо со своего сайта, получаете оценку из 10 и список проблем.

Что прописать в DNS

SPF и DKIM записи для домена
SPF и DKIM в DNS — без них Gmail и Mail.ru часто уводят письма в спам.
Настройка DNS для почты домена
Панель DNS на Beget/Timeweb: TXT для SPF и CNAME для DKIM — сверяйте с подсказкой почты.
  • SPF — TXT-запись «v=spf1 include:_spf.<ваш-почтовый-сервис>.ru ~all». Например, для Яндекс.Почты: v=spf1 include:_spf.yandex.net ~all.
  • DKIM — генерируется в админке вашего почтового сервиса, копируется в DNS как TXT-запись с селектором (например, mail._domainkey.ваш-домен.ru).
  • DMARC — TXT-запись на _dmarc.ваш-домен.ru со значением v=DMARC1; p=quarantine; rua=mailto:admin@ваш-домен.ru.

После добавления записей нужно подождать 1–24 часа, пока DNS обновится у провайдеров. После — повторно прогнать через mail-tester. Цель — 9/10 или 10/10.

Причина 3. WP Mail SMTP настроен, но криво

Самые частые ошибки в настройке WP Mail SMTP:

  • From Email не совпадает с авторизованным ящиком SMTP. Если SMTP — Яндекс.Почты от info@ваш-домен.ru, в поле From Email должно стоять то же. Любой другой ящик — отказ авторизации.
  • SMTP Host не тот: для Яндекса это smtp.yandex.ru порт 465 SSL, для Mail.ru — smtp.mail.ru порт 465 SSL, для Gmail — smtp.gmail.com 587 TLS.
  • Пароль. У Яндекса, Google, Mail.ru обычный пароль от ящика не работает — нужен пароль приложения, который генерируется в настройках безопасности почтового сервиса.

Тест: WP Mail SMTP → Email Test → отправьте письмо на свой ящик. Если приходит — настройка ОК. Если не приходит — в логе будет конкретная ошибка SMTP (отказ авторизации, неправильный порт и т.п.).

Причина 4. Адрес «From» не соответствует домену

WordPress по умолчанию отправляет письма от имени wordpress@ваш-домен.ru. Если в DNS этого ящика нет, многие почтовые сервисы будут заворачивать письма.

Решение: в WP Mail SMTP в поле From Email укажите реальный существующий ящик на вашем домене (например, noreply@ваш-домен.ru или orders@ваш-домен.ru). Он должен быть авторизован в SMTP — то есть вы должны мочь зайти в почту под ним.

Причина 5. Триггеры писем WooCommerce отключены

В WooCommerce → Настройки → Email есть список всех писем. Возможно, нужное письмо просто отключено (Disabled) — это бывает после миграции или восстановления из бэкапа.

Откройте каждое письмо и проверьте:

  • Галочка «Enable this email notification» стоит;
  • Recipient (получатель, для писем администратору) — ваш реальный email, а не admin@ из дефолта;
  • Subject и Body заполнены, без пустых плейсхолдеров.

Дополнительно проверьте статусы заказа, на которые подписано письмо: некоторые письма триггерятся только при определённом статусе (например, «В обработке»), и если у вас заказы переходят сразу в «Завершён» — нужное письмо просто не вызывается.

Чек-лист починки

  1. Поставить WP Mail SMTP и настроить через настоящий SMTP-сервер (Яндекс.Почта, Mail.ru, корпоративный домен).
  2. Прописать SPF и DKIM в DNS, проверить через mail-tester.com (цель — 9–10/10).
  3. Поставить плагин логирования писем (например, WP Mail Logging) — увидите, что именно WooCommerce пытается отправить, и доходит ли вообще до отправителя.
  4. Прогнать тестовый заказ — проверить, приходят ли письма клиенту и админу.
  5. Включить регулярную проверку доставляемости раз в квартал — почтовые сервисы периодически ужесточают правила.

Перед обновлением WooCommerce или ядра сделайте свежий бэкап — как выбрать способ бэкапа. После релиза WordPress 7.0 проверьте checkout и письма по чек-листу обновления. Если витрина тормозит — разбор шести причин медленного магазина.

Когда позвать спеца

Если WP Mail SMTP настроен, DNS-записи на месте, но Gmail всё равно отправляет в спам — нужна работа с репутацией домена (прогрев, корректировка DMARC-политики, чистка от «темной» истории). Это часовая задача, оптимально делать в комплексе. Раздел WooCommerce на сайте или контакты — оценка за 20 минут.

Поделиться: Telegram VK
Сложный случай?

Опишите ситуацию — поможем

Только WordPress. Если статья не закрыла вопрос — напишите, посмотрим конкретно ваш сайт.

Если есть — поможет быстрее оценить задачу.
Необязательно · до 10 МБ · PNG, JPG, PDF, ZIP
Удобный канал связи

URL сайта и краткое описание задачи. Чем больше деталей, тем точнее оценка.

Не передаём третьим лицам · Политика