Вы получили письмо от клиента: «Заказ прошёл? Письма не вижу.» Проверяете логи WooCommerce — там всё помечено как «отправлено». Оплата прошла, товар зарезервирован, статус заказа обновлён. Но письмо не дошло до клиента. Опять.
Письма о заказах WooCommerce — одна из самых частых жертв папки Спам на всех хостингах. Не потому что WooCommerce сломан, а потому что по умолчанию он использует PHP-функцию mail(), которая отправляет письма без аутентификации с shared IP хостинга. В 2026 году это гарантия попасть в спам Gmail, Outlook и Mail.ru.
Замените PHP mail на authenticated SMTP через плагин, добавьте SPF + DKIM + DMARC для домена From-адреса и протестируйте все шаблоны заказов через seed-инфраструктуру. Каждый шаблон (обработка, завершение, счёт) должен быть проверен в реальных инбоксах перед тем как доверять ему.
Анатомия писем WooCommerce
WooCommerce поставляется с дюжиной шаблонов transactional письма. Большинство магазинов активно используют пять из них:
- Новый заказ — уведомление администратору, когда клиент совершил покупку. Идёт на почту магазина, поэтому часто «работает» даже когда письма клиентам падают в спам.
- Заказ в обработке — уведомление клиенту, что заказ получен и оплата обрабатывается.
- Заказ выполнен — уведомление клиенту, что товар отправлен или цифровой товар готов к скачиванию.
- Счёт-фактура — ручной счёт с реквизитами оплаты, отправляется администратором если платёж остался неподтверждённым.
- Возврат средств — подтверждение возврата денег.
Все эти письма проходят через одну функцию wp_mail(). Это важно. Исправьте wp_mail() один раз — и все шаблоны заработают. Оставьте её сломанной — и все будут падать в спам.
Почему письма заказов WooCommerce попадают в спам
Есть три перекрывающихся проблемы, и их влияние накапливается когда они встречаются вместе.
1. PHP mail() с shared IP хостинга
По умолчанию WordPress вызывает встроенную PHP-функцию mail(), которая отправляет сообщение локальному MTA сервера (обычно Postfix или Exim). Тот MTA отправляет письмо с IP самого сервера — общего IP-адреса сотен сайтов на одном cPanel или plesk-узле. Если один сосед попадёт в чёрный список — вместе с ним спамятся все соседи.
2. Несоответствие From-адреса
WordPress по умолчанию ставит в From-адрес wordpress@ваш-хост.com. Владельцы магазина меняют это на shop@ваш-магазин.com в настройках WooCommerce, но забывают добавить SPF и DKIM записи для этого домена на хостинге. Результат: SPF «softfail», DKIM «none», DMARC политика либо не опубликована, либо p=none (бесполезна).
3. Отсутствие обработки bounces
PHP mail молча откидывает bounces-уведомления. Если клиент опечатался в почте при оформлении заказа — вы никогда не узнаете. Со временем ваша репутация отправителя накапливает невидимые ошибки доставки.
- Клиенты письмами спрашивают «Заказ прошёл?» через пару минут после оплаты.
- Тестовые заказы с вашего Gmail попадают в Спам или Промоакции — но вы рассчитывали что это нормально.
- Заголовки письма показывают
Received-SPF: softfailилиdkim=none. - В поддержку приходят письма со словом «спам» в последние 30 дней.
SMTP плагин + DNS: два шага
Два части. Обе обязательны. Если не сделаете обе — не будет толку.
Часть 1: Перенаправьте wp_mail() через authenticated SMTP
- Установите SMTP плагин. WP Mail SMTP, FluentSMTP и Post SMTP — три самых популярных варианта. FluentSMTP бесплатный и хороший. WP Mail SMTP имеет самый красивый интерфейс. Выберите любой.
- Выберите провайдера отправки — Amazon SES, Postmark, SendGrid,Mailgun или Brevo. Для transactional писем заказов лучше всего подходят Postmark и SES. Postmark за простоту, SES если у вас уже есть аккаунт AWS.
- В плагине введите API-ключ или SMTP-учётные данные провайдера. Установите
From Nameв название магазина, аFrom Emailв адрес типаorders@ваш-магазин.com. Включите опцию Force From Email чтобы другие плагины (например платёжные) не смогли переопределить From. - Отправьте встроенное тестовое письмо плагина на свой Gmail или Outlook. Убедитесь что оно пришло в Входящие и что заголовки показывают
spf=passиdkim=passсогласованные с вашим доменом.
Часть 2: DNS-записи для аутентификации
Ваш провайдер отправки выдаст вам записи для добавления в DNS. Правильная настройка для ваш-магазин.com выглядит так:
; SPF — в зависимости от вашего провайдера
ваш-магазин.com. IN TXT "v=spf1 include:amazonses.com ~all"
; DKIM — пример селектора от SES, ваш провайдер даст 3 CNAME
abc123._domainkey.ваш-магазин.com. IN CNAME abc123.dkim.amazonses.com.
; DMARC — начните с quarantine и адресом для отчётов
_dmarc.ваш-магазин.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@ваш-магазин.com; pct=100; adkim=r; aspf=r"Опубликуйте записи, подождите 10 минут на распространение, затем отправьте тест заново. Цель — получить spf=pass, dkim=pass и dmarc=passвсе три сразу. Что-то меньше — и вы не закончили.
Bесплатный инструмент Inbox Check генерирует 20+ свежих seed-адресов в Gmail, Outlook, Yahoo, Mail.ru, Yandex, ProtonMail и других провайдерах. Тестируйте каждое письмо заказа на попадание в Входящие прямо из админки магазина.
Seed-тест всей цепочки заказов
Один тест через встроенный тест плагина доказывает только то что транспорт работает. Это не доказывает что ваш шаблон подтверждения заказа попадёт в инбокс, потому что шаблоны WooCommerce содержат дополнительный контент — таблицы товаров, цены, ссылки — которые меняют spam score письма.
Дисциплина простая: создайте реальный тестовый заказ (или товар со скидкой 100%) и смотрите каждый шаблон в seed-инбоксах.
- Создайте тестовый товар с ценой 0.00 или примените купон на 100% скидку чтобы не тратить деньги.
- Откройте инструмент проверки. На check.live-direct-marketing.online сгенерируйте 20+ seed-адресов по Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX и ProtonMail. Скопируйте список.
- Оформите заказ используя первый seed-адрес. Вы увидите как письмо «Заказ в обработке» приходит на этот ящик. Проверьте дашборд: Входящие vs Спам vs Промоакции для каждого провайдера.
- В админке WooCommerce отметьте заказ как «Выполнен». Это триггерит шаблон «Заказ выполнен». Используйте следующий seed-адрес и повторите тест.
- В конце выставьте ручной счёт из админки. Это проверит шаблон «Счёт-фактура» с реквизитами оплаты, который сканируется иначе чем простое подтверждение.
Вы должны стремиться к 95%+ попаданию в Входящие у крупных провайдеров. Что-то ниже 80% нужно проверить ещё раз: аутентификация, контент письма и прогрев IP.
Как сохранить исправленное
Deliverability — это не «настроил и забыл». Три вещи подламываются со временем:
- Дрейф DNS. Разработчик пересоздал DKIM-ключ у провайдера отправки и забыл обновить DNS. Вдруг DKIM начинает валиться и DMARC откидывает письма.
- Правки в шаблонах. Маркетер добавил рекламный баннер в шаблон заказа. Картинка хостится на новом поддомене без репутации. Spam score растёт.
- Чёрные списки провайдера. Компания-провайдер отправки попала в чёрный список. Ваша transactional почта ловится совместно с массовой рассылкой.
Запланируйте еженедельный тест размещения для каждого основного шаблона заказа. Если что-то упадёт ниже 90% — открывайте тикет. Стоимость писем о заказе в спаме считается в запросах на возврат.