← Все статьи

Диагностика

Почему письма с сайта попадают в спам: проверяем SPF, DKIM и DMARC

Клиент отправил заявку на сайте, но письмо с подтверждением оказалось в папке «Спам». Прежде чем менять текст письма или настройки DNS, выясните, какой сервис его отправляет и что увидел принимающий почтовый сервер. Проверка подлинности отправителя поможет найти часть проблем, но успешные SPF, DKIM и DMARC сами по себе не гарантируют попадания во «Входящие».

Сначала установите, где возникла проблема

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

Запишите время отправки, адрес отправителя и получателя, идентификатор сообщения и название отправляющего сервиса. При передаче журналов специалистам удалите личные данные, токены и содержимое писем, если они не нужны для диагностики. Сравнивайте одинаковый сценарий: письма сайта, CRM и рассылок могут уходить через разные системы.

Что проверяют SPF, DKIM и DMARC

SPF помогает получателю проверить, разрешён ли отправляющий сервер для домена, используемого в SMTP-адресе отправителя. Этот домен может отличаться от адреса, который читатель видит в поле «От».

DKIM добавляет цифровую подпись письма. Получатель проверяет её с помощью открытого ключа в DNS домена подписи. Для поиска ключа используются значения d= и s= из заголовка DKIM-Signature.

DMARC связывает проверку с доменом в видимом поле From. Для успешного результата достаточно, чтобы прошла хотя бы одна из проверок SPF или DKIM и её домен соответствовал домену From по правилам выравнивания. Владельцы доменов также публикуют политику обработки писем, не прошедших DMARC. Получатель учитывает её наряду со своими правилами.

Шаг 1. Посмотрите результаты проверки в полученном письме

Откройте тестовое письмо в Gmail на компьютере. Рядом с кнопкой ответа нажмите меню с тремя точками и выберите «Показать оригинал». Название пункта может зависеть от языка интерфейса. Gmail показывает исходное сообщение и результаты проверки. В другом почтовом сервисе найдите просмотр полных заголовков в его справке.

Ищите результаты spf, dkim и dmarc в заголовке Authentication-Results, добавленном вашим принимающим почтовым сервисом. Заголовков с таким названием может быть несколько: не считайте каждый из них одинаково надёжным. Обратите внимание на pass, fail, none или temperror, а также на домены рядом с результатами. Окончательный смысл зависит от проверяющей системы: none не равнозначен подтверждённой подделке, а временная ошибка не обязательно означает неверную настройку.

Сверьте домен после @ в видимом From с доменом SPF и с d= успешной подписи DKIM. Если SPF или DKIM прошёл, а DMARC нет, одной из причин может быть несовпадение доменов по правилам DMARC. Для вывода изучите полный результат проверки и настройки отправляющего сервиса. При пересылке или изменении письма по пути проверка тоже может измениться.

Шаг 2. Проверьте DNS, не меняя записи

Сначала составьте список всех систем, отправляющих почту от вашего домена: корпоративная почта, сайт, CRM и платформа рассылок. Попросите администратора DNS и каждого поставщика подтвердить используемые домены и нужные значения записей. Не копируйте чужие записи: они могут не соответствовать вашей инфраструктуре.

На Windows можно просмотреть TXT-записи в PowerShell. Ниже example.com обозначает пример: подставьте собственный домен. Команды только запрашивают DNS и не меняют настройки.

Resolve-DnsName example.com -Type TXT
Resolve-DnsName _dmarc.example.com -Type TXT

Для SPF ищите запись, начинающуюся с v=spf1. Для DMARC ищите запись, начинающуюся с v=DMARC1. Если ответ пустой или содержит ошибку, проверьте правильность имени и повторите запрос позже: отсутствие ответа от одного резолвера само по себе не доказывает, что запись отсутствует везде.

Для DKIM сначала найдите в конкретной подписи значения s= и d=. Затем запросите TXT для имени <селектор>._domainkey.<домен подписи>, подставив фактические значения. Некоторые провайдеры используют CNAME; следуйте их документации и проверяйте конечную запись. Наличие записи ещё не доказывает, что ключ подходит подписи и что письмо не изменилось по пути.

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

Шаг 3. Сопоставьте симптом и следующую проверку

СимптомЧто проверитьВозможное объяснение
Письмо не пришло ни в одну папкуЖурнал сайта, отправляющего сервиса, ошибки доставкиПисьмо не отправлено, отклонено или задержано; причина зависит от журналов
spf=failКто отправил письмо, какой домен проверялся, SPF и маршрутОтправляющий источник не разрешён или письмо прошло через пересылку
dkim=failДомен и селектор подписи, ключ и изменения письмаКлюч недоступен или подпись не проходит проверку
SPF или DKIM прошёл, но DMARC нетДомены SPF, DKIM и From, выравниваниеУспешная проверка относится к неподходящему домену
Проверки прошли, письмо в спамеРепутацию отправителя, жалобы, содержимое и правила получателяАутентификация прошла, но фильтр оценил другие сигналы

Таблица помогает выбрать следующую проверку, но не устанавливает причину без данных конкретного письма. Например, содержимое может быть одним из сигналов фильтра, а не единственной причиной.

Шаг 4. Проверьте доставку после исправления

Отправьте новое письмо через тот же сценарий. Снова откройте его заголовки и сравните результаты с исходными. Если проблема затрагивает нескольких получателей, проверьте доступные вам тестовые ящики у разных провайдеров. Результат отдельного тестового ящика не показывает размещение всех писем у всех пользователей.

Если аутентификация проходит, но проблема остаётся, изучите репутацию домена и IP, ошибки отправки, жалобы и рекомендации принимающего провайдера. Для Gmail доступен Postmaster Tools при соблюдении условий сервиса. Если данных мало, соберите время отправки, идентификатор письма, анонимизированные заголовки и сведения об отправляющем сервисе для обращения к его поддержке.

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

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

Источники

Статья про чужой домен. Ваш — за минуту

Бесплатная DNS-проверка покажет SPF, DKIM и DMARC вашего домена без регистрации.

Проверить DNS домена →