Проверка SPF-записи

Проверьте SPF-запись домена, пройдите все include и посчитайте DNS-запросы, чтобы ваши почтовые серверы были разрешены, а SPF никогда не возвращал постоянную ошибку.

Что такое SPF-запись?

SPF (Sender Policy Framework, RFC 7208) — метод аутентификации почты, перечисляющий серверы, которым разрешено отправлять письма от имени домена. Список публикуется одной TXT-записью, начинающейся с v=spf1. Когда приходит письмо, сервер-получатель сравнивает IP-адрес отправителя с этим списком.

Отсутствующая или сломанная SPF-запись повышает вероятность попадания легитимных писем в спам и ослабляет DMARC, который опирается на успешный SPF или DKIM с выравниванием.

Как работает проверка SPF

  • Мы получаем все TXT-записи домена и находим ту, что начинается с v=spf1.
  • Каждый механизм и модификатор разбирается и проверяется: диапазоны ip4 и ip6, include, a, mx, exists, redirect и завершающий all.
  • Мы рекурсивно проходим каждый include и redirect, строим дерево и считаем каждый элемент, делающий DNS-запрос.
  • Вы видите общее количество DNS-запросов из 10, пустые запросы, циклы и все синтаксические проблемы с рекомендациями.

Пример SPF-записи

Домен, отправляющий почту через собственный сервер и Google Workspace, может опубликовать:

v=spf1 ip4:203.0.113.10 include:_spf.google.com -all

Запись разрешает один IPv4-адрес и почтовые серверы Google и просит получателей отклонять всех остальных отправителей. Каждый include добавляет минимум один DNS-запрос, поэтому держите список сервисов коротким.

Лимит в 10 DNS-запросов

Чтобы защитить получателей от злоупотреблений, проверка SPF может сделать не более 10 DNS-запросов. Механизмы include, a, mx, ptr, exists и модификатор redirect стоят по одному запросу, включая те, что во вложенных include. ip4, ip6 и all бесплатны. Если сумма превышает 10, результат — постоянная ошибка (permerror), и SPF не проходит ни для одного письма.

Превышение лимита — самая частая проблема SPF у компаний, регулярно добавляющих новые email-сервисы. Чтобы уложиться: уберите сервисы, которыми больше не пользуетесь, замените a и mx на явные диапазоны ip4/ip6 и попросите поставщиков дать более узкий include.

Квалификаторы SPF: -all, ~all и ?all

  • -all (fail) — неразрешённые отправители не проходят. Самое строгое и рекомендуемое завершение, когда вы уверены в полноте списка.
  • ~all (softfail) — неразрешённая почта принимается, но помечается как подозрительная. Часто используется при миграции и вместе с DMARC.
  • ?all (neutral) — никакого утверждения. Защиты не даёт.
  • +all (pass) — разрешает всем. Никогда не используйте: любой сможет отправлять почту от вашего домена.

Частые ошибки SPF

  • Несколько SPF-записей — у домена должна быть ровно одна запись v=spf1. Объедините их в одну.
  • Слишком много DNS-запросов — более 10 запросов дают permerror; упростите или уберите include.
  • Include доменов без SPF — считаются пустыми запросами; больше двух вызывают постоянную ошибку.
  • Использование ptr — устаревший, медленный механизм, который многие получатели игнорируют.
  • Элементы после all — всё после механизма all никогда не обрабатывается.

Частые вопросы

Как проверить свою SPF-запись?

Введите домен в форму выше. Инструмент найдёт TXT-запись v=spf1, проверит синтаксис, пройдёт все include и покажет общее количество DNS-запросов вместе с ошибками и рекомендациями.

Что означает «too many DNS lookups»?

SPF допускает не более 10 элементов с DNS-запросами при проверке, включая вложенные include. Если нужно больше, получатели возвращают постоянную ошибку, и SPF не проходит. Уберите неиспользуемые сервисы или замените include и a/mx на явные IP-диапазоны.

Может ли у домена быть две SPF-записи?

Нет. Более одной записи v=spf1 вызывает постоянную ошибку. Объедините всех разрешённых отправителей в одну запись.

Что лучше: -all или ~all?

-all строже и рекомендуется, когда перечислены все легитимные отправители. ~all безопаснее во время изменений. При активной DMARC-политике практическая разница невелика, так как окончательное решение принимает DMARC.

Защищает ли SPF адрес From, который видят пользователи?

Сам по себе — нет. SPF проверяет отправителя конверта (Return-Path), а не видимый заголовок From. DMARC добавляет выравнивание между ними, поэтому нужны оба.

Как добавить новый email-сервис в SPF?

Добавьте include или IP-диапазон от сервиса перед механизмом all, например include:sendgrid.net. Затем запустите проверку снова, чтобы убедиться, что вы укладываетесь в лимит 10 запросов.

Бесплатна ли эта проверка SPF?

Да, полностью бесплатна и без регистрации. Проверяемые домены мы не храним.

Другие бесплатные email-инструменты