Письма WooCommerce не приходят: проверка от заказа до почтового ящика

Заказ появился в магазине, но покупатель не получил письмо. Чтобы найти причину, проследите одну отправку: от события в заказе до ответа почтового сервиса. Такая проверка помогает отделить ошибку магазина от проблемы доставки.

Сначала подготовьте один контрольный пример

Используйте свой тестовый заказ и свой адрес. Запишите номер заказа, время проверки с часовым поясом, ожидаемый тип письма и результат. Укажите установленную версию WooCommerce: состав журналов и названия настроек могут отличаться. Не используйте реальные покупки как полигон для смены статусов.

Пример записи: «Тестовый заказ TEST-27, 14:05 мск, ожидается уведомление об обработке, на контрольном адресе письма нет». Это условный пример, а не результат проверки конкретного магазина.

1. Проверьте, должно ли было появиться письмо

Откройте заказ и сопоставьте его фактическое состояние с ожидаемым уведомлением. Если платёж прошёл у провайдера, а заказ остался в ожидании оплаты, сначала проверяют обновление заказа и связь платёжного модуля с магазином. Смена почтового сервиса сама по себе эту проблему не устраняет.

Затем откройте WooCommerce → Настройки → Электронная почта и нужное уведомление. Проверьте, включено ли оно. Для уведомлений администратору проверьте получателей; для письма покупателю — адрес в самом заказе. Не путайте уведомление магазину и уведомление клиенту: это разные отправки.

2. Найдите попытку отправки в журнале

В WooCommerce 10.9 появилась встроенная регистрация транзакционных писем. Если установленная версия поддерживает её, откройте WooCommerce → Статус → Журналы и источник transactional-emails. Ищите событие по времени и связанному заказу. Если источника нет, проверьте версию, настройки журналирования и доступные журналы почтового модуля.

РезультатСледующий шаг
Уведомление выключеноПроверьте настройку именно этого типа письма.
Отправка пропущенаПрочитайте причину и проверьте недостающее условие, например получателя.
Ошибка отправкиСохраните время и сообщение об ошибке; сопоставьте с журналом почтового сервиса.
Передано почтовой системеПродолжите проверку на стороне доставки.

3. Разделите передачу и получение

Успешный результат wp_mail() означает, что используемый механизм обработал запрос без ошибки. Он не доказывает, что письмо попало во «Входящие». Поэтому отметку магазина сопоставляют с отдельным результатом в почтовом сервисе и контрольном ящике.

Проверьте входящие, спам и правила сортировки. Если используется SMTP или почтовый API, найдите попытку по времени, получателю и идентификатору сообщения, если он доступен. Запишите точный ответ сервиса. Формулировка «на сайте отправлено» без следующего подтверждения оставляет проверку незавершённой.

4. Проверьте отправителя и подключение к почте

Сверьте адрес From в настройках магазина с отправителем, разрешённым почтовым сервисом. Для сайта рекомендуется адрес на собственном домене. Если ответы должны приходить в другой ящик, используйте предусмотренную вашим модулем настройку Reply-To: она не заменяет отправителя.

Проверьте действующее подключение SMTP/API, ограничения отправки и ошибки авторизации. Не включайте несколько конкурирующих способов доставки одновременно ради эксперимента: меняйте один параметр, выполняйте один контрольный тест и записывайте результат. Установка SMTP-модуля без настройки сервиса и повторного теста не подтверждает исправление.

5. Сверьте аутентификацию домена

SPF описывает разрешённые источники отправки, DKIM позволяет проверять цифровую подпись, а DMARC задаёт политику проверки согласованности домена и обработки сообщений. Сверяйте настройки с инструкцией своего почтового провайдера и результатами его проверки. Не копируйте DNS-записи из чужого примера: значения зависят от сервиса.

6. Повторите исходный сценарий

После изменения выполните тот же тест с новым тестовым событием. Сравните четыре отметки: уведомление должно возникнуть; магазин зарегистрировал попытку; сервис обработал отправку; письмо найдено в контрольном ящике. Для дополнительной проверки можно использовать второй принадлежащий вам ящик у другого провайдера, сохранив остальные условия.

Если нужен разбор поддержки, приложите версию WooCommerce, тип уведомления, временной интервал, статус тестового заказа и обезличенный текст ошибки. Пароли SMTP, API-ключи и полные данные покупателей в обращение не включайте.

Короткий чек-лист

  • Выбран конкретный заказ и тип письма.
  • Проверены событие, настройки уведомления и адрес получателя.
  • Найдена попытка отправки либо зафиксировано её отсутствие.
  • Разделены результат WordPress, ответ сервиса и получение письма.
  • После исправления повторён исходный сценарий.

Смежные проверки: очередь запланированных действий WooCommerce и выдача файла после оплаты. Это отдельные участки работы магазина; результат одного теста не заменяет остальные.

Официальные материалы