Транзакционные письма не доходят: как найти причину и починить
Если письма подтверждения заказа, восстановления пароля или коды с сайта попадают в спам, причина почти всегда в одном из четырех мест: аутентификация домена, репутация потока, смешение сервисного и маркетингового трафика, контент письма. Ниже дерево диагностики, которое позволяет за один проход локализовать проблему, и конкретные проверки для Gmail, Mail.ru и Яндекса.
1. Почему сервисные письма критичнее маркетинговых
Транзакционные письма (подтверждение заказа, восстановление пароля, код входа, уведомление об оплате) запрашивает сам получатель. Клиент ждет письмо в течение минут, и если оно не пришло, заказ срывается, сессия поддержки удлиняется, а доверие к сервису падает.
Парадокс в том, что сервисные письма часто отправляются с той же инфраструктуры, что и промо-рассылки: тот же домен, тот же IP, тот же ESP. Фильтры Gmail и Mail.ru оценивают отправителя в целом, поэтому жалобы на маркетинговые письма ухудшают доставку и транзакционных.
Вторая частая причина: технические письма с сайта отправляются скриптом напрямую с веб-сервера, без SPF, DKIM и DMARC. Такие письма почтовики либо кладут в спам, либо отклоняют с ошибкой вида 550 5.7.26 у Gmail.
2. Дерево диагностики: с чего начать
Прежде чем менять настройки, определите, на каком этапе теряется письмо. Для этого отправьте тестовое письмо на ящики в Gmail, Mail.ru и Яндексе и сверьтесь с таблицей.
| Симптом | Что проверять в первую очередь |
|---|---|
| Письма нет ни во входящих, ни в спаме, отправитель получил отказ | Текст SMTP-отказа в логе отправки: код и пояснение после него |
| Письма нет нигде, отказа тоже нет | Сервер получателя принял письмо (ответ 250), но отложил доставку: проверьте очередь и логи через час |
| Письмо в папке Спам у всех почтовиков | Аутентификация домена: SPF, DKIM, DMARC, затем репутация и жалобы |
| В спаме только у Gmail | Доля жалоб в Google Postmaster Tools и соответствие требованиям отправителей |
| В спаме только у Mail.ru | Процент жалоб в Mail.ru Postmaster и пороги из справки Mail.ru |
| Не доходят только письма с сайта, рассылки из ESP доходят | Поток с сайта идет мимо ESP: нет DKIM-подписи или другой IP без PTR и HELO |
| Не доходит только восстановление пароля или код | Контент: ссылка на незнакомый домен, короткий URL, вложение |
Важно не путать две ситуации: сервер получателя ответил 250 OK (письмо принято) и письмо попало во входящие. Accepted не равен inbox: письмо может быть принято и молча отфильтровано в спам. Подробнее об этом расхождении в статье про <a href="/blog/delivery-ne-ravno-inbox">SMTP accepted и реальную доставку</a>.
3. Шаг 1: проверка аутентификации домена
Транзакционные письма обязаны проходить SPF, DKIM и DMARC. С 2024 года Google требует это от всех массовых отправителей, а отказ с кодом 550 5.7.26 означает, что письмо не прошло проверки аутентификации.
Проверьте записи командами dig:
dig TXT example.com +short (ищите запись, начинающуюся с v=spf1, она должна быть одна); dig TXT selector._domainkey.example.com +short (публичный ключ DKIM, selector замените на свой); dig TXT _dmarc.example.com +short (запись v=DMARC1 с политикой p=).
Типичный рабочий набор для домена, который шлет через ESP:
SPF: v=spf1 include:spf.esp-provider.ru -all. DKIM: CNAME или TXT-запись с ключом, выданным ESP. DMARC: v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com.
- ✕Сайт шлет письма своим SMTP, а в SPF нет include или ip4 для этого сервера: результат SPF fail или softfail
- ✕DKIM подписывает ESP, но скрипт сайта отправляет в обход него, и подписи нет вовсе
- ✕DMARC на p=reject, а транзакционный поток не выровнен по домену: письма отклоняются
- ✕Несколько SPF-записей на одном домене: проверка возвращает permerror
Если ошибок в записях нет, а письмо все равно в спаме, смотрите разбор ситуации <a href="/blog/spf-dkim-dmarc-pass-no-inbox">SPF, DKIM и DMARC проходят, но письмо в спаме</a>. Проверить записи домена можно через <a href="/tools/email-domain-check">проверку домена</a> и <a href="/tools/dmarc-check">проверку DMARC</a>.
4. Шаг 2: репутация и жалобы
Если аутентификация в порядке, следующий слой: репутация домена и IP в глазах почтовика. Здесь первичны данные самих почтовых платформ, а не сторонние тесты.
Для Gmail подключите Google Postmaster Tools и смотрите долю жалоб (spam rate). Google указывает ориентиры: держите долю жалоб ниже 0,1%, значение 0,3% и выше считается недопустимым и ведет к фильтрации. В API v2 дополнительно доступны доли прохождения SPF, DKIM, DMARC и соответствие требованиям отправителей.
Для Mail.ru подключите Mail.ru Postmaster. Метрика "Репутация, %" показывает средний процент жалоб за 30 дней, меньше лучше. Пороги зависят от месячного объема отправок:
| Писем в месяц | Порог жалоб Mail.ru |
|---|---|
| до 10 000 | 1,1% |
| до 500 000 | 1% |
| до 10 000 000 | 0,8% |
| до 50 000 000 | 0,5% |
| свыше 50 000 000 | 0,3% |
Если жалобы выросли, транзакционный поток страдает вместе с маркетинговым, потому что почтовик оценивает домен отправителя в целом. Именно поэтому следующий шаг: разделение потоков.
5. Шаг 3: разделяем сервисные письма и рассылки
Цель разделения: жалобы на промо-рассылки не должны влиять на доставку подтверждений заказов и кодов восстановления пароля. Практическая схема:
1. Поддомены под потоки. Транзакционные письма отправляйте с поддомена вида notify.example.com или order.example.com, маркетинговые с promo.example.com, корпоративную почту оставьте на основном домене. У каждого поддомена свои SPF и DKIM, DMARC можно покрыть одной записью на основном домене с политикой для поддоменов (sp=).
2. Разные отправители. Адрес отправителя для сервисных писем: order@notify.example.com. Для рассылок: news@promo.example.com. Это помогает и фильтрам, и получателям различать потоки.
3. Разные IP или пулы у ESP. Крупные ESP позволяют выделить транзакционный трафик в отдельный пул. Если объемы небольшие, достаточно разделения по поддоменам.
4. Никакой рекламы внутри транзакционных писем. Вставка промо-блоков в письмо подтверждения заказа повышает жалобы и смешивает потоки в глазах фильтра.
- •Статистика Google Postmaster Tools привязана к домену d= в DKIM-подписи (или к SPF-домену): для каждого поддомена настройте свою подпись и следите за метриками раздельно
- •Смена селектора s= статистику Google Postmaster Tools не уводит, поэтому разделение делайте именно по доменам подписи. Mail.ru Postmaster устроен иначе: там домен просто подтверждается в кабинете, без привязки к DKIM
- •После внедрения поддоменов дайте метрикам 2-4 недели на накопление истории
Подробнее про архитектуру потоков: <a href="/blog/poddomeny-i-potoki-email">поддомены и потоки email</a>.
6. Шаг 4: контент письма и поведение получателей
Когда аутентификация и репутация чистые, а конкретный тип писем (например, только код подтверждения) все равно в спаме, смотрите в само письмо.
Типичные триггеры для сервисных писем: ссылка ведет на домен, отличный от домена отправителя; используется сокращатель ссылок; письмо состоит из одной картинки; есть вложение (PDF с чеком фильтры проверяют жестче); тема письма содержит слова, характерные для фишинга, без имени бренда.
Отдельная причина, специфичная для транзакционного трафика: письма уходят на несуществующие или опечаточные адреса (пользователь ошибся при регистрации). Рост жестких отказов ухудшает репутацию. Включите подтверждение адреса при регистрации и обрабатывайте отказы: жесткие адреса удаляйте сразу. Про типы отказов: <a href="/blog/bounce-hard-soft">возвраты и отказы</a>.
7. Как проверить, что проблема решена
После изменений проверку делайте в три приема.
Первый: отправьте реальное тестовое письмо с боевого потока на свои ящики в Gmail, Mail.ru и Яндексе. Откройте оригинал письма и посмотрите заголовки: строки Authentication-Results должны показывать spf=pass, dkim=pass, dmarc=pass. Разобрать заголовки поможет <a href="/tools/email-header-analyzer">анализатор заголовков письма</a>, он работает в браузере.
Второй: сверьте Postmaster-метрики через 3-7 дней. В Google Postmaster Tools должна расти доля прохождения SPF, DKIM, DMARC и снижаться доля жалоб. В Mail.ru Postmaster смотрите доставку и процент жалоб по дням.
Третий: настройте постоянный контроль, а не разовую проверку. PostmastersTool собирает данные Google Postmaster Tools и Mail.ru Postmaster, проверяет DNS-записи доменов (SPF, DKIM, DMARC, MX, черные списки), принимает DMARC-отчеты и присылает уведомления о пересечении порогов в Telegram или на почту. Так вы узнаете о деградации транзакционного потока до жалоб клиентов.
Что сделать дальше
Если дерево диагностики привело к аутентификации или репутации, действуйте по шагам ниже.
- 1
- 2Разберите заголовки проблемного письма
Вставьте оригинал письма из папки спама и посмотрите, какие проверки не пройдены.
Открыть анализатор - 3Обсудите аудит доставляемости
Если причина не находится или потоков несколько, аудит покроет DNS, логи SMTP, Postmaster-данные и архитектуру потоков.
Обсудить аудит - 4Поставьте потоки на мониторинг
Подключите Google и Mail.ru Postmaster, получайте алерты о пересечении порогов.
Зарегистрироваться