Заказ появился в магазине, но покупатель не получил письмо. Чтобы найти причину, проследите одну отправку: от события в заказе до ответа почтового сервиса. Такая проверка помогает отделить ошибку магазина от проблемы доставки.
Сначала подготовьте один контрольный пример
Используйте свой тестовый заказ и свой адрес. Запишите номер заказа, время проверки с часовым поясом, ожидаемый тип письма и результат. Укажите установленную версию 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 и выдача файла после оплаты. Это отдельные участки работы магазина; результат одного теста не заменяет остальные.
Официальные материалы
- WooCommerce: диагностика электронной почты
- WooCommerce: журнал транзакционных писем
- WordPress: результат wp_mail()
- WooCommerce: способы доставки писем
- WooCommerce: аутентификация отправителя
Продолжить проверку магазина: интернет-магазин и автоматизация.
