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

Найдите SPF-запись домена и посмотрите на проблемы, которые чаще всего её ломают: больше одной записи, +all, отсутствие механизма all или слишком много DNS-запросов.

Что такое SPF

SPF (Sender Policy Framework) — это TXT-запись со списком серверов, которым разрешено отправлять почту от имени вашего домена. Принимающий сервер сравнивает IP-адрес подключившегося отправителя с этим списком. Запись начинается с v=spf1, содержит механизмы вроде include, ip4, a и mx и заканчивается механизмом all, который говорит, что делать со всеми остальными.

-all означает отклонять почту с серверов, которых нет в списке, ~all — принимать, но считать подозрительной, ?all не выражает никакого мнения, а +all разрешает отправку кому угодно, что лишает запись смысла.

Что ищет эта проверка

Домен может публиковать ровно одну SPF-запись. Две записи вызывают у получателя постоянную ошибку, и обычная причина в том, что для нового почтового сервиса добавили вторую запись вместо того, чтобы дополнить первую. Проверка также отмечает запись, которая заканчивается на +all, вообще не содержит all или redirect либо, судя по всему, требует больше десяти DNS-запросов, допускаемых стандартом.

Число запросов считается по механизмам вашей собственной записи. Вложенные include внутри записей других провайдеров увеличивают реальный итог, поэтому запись, которая здесь близка к десяти, возможно, уже превышает лимит.

Чего SPF не умеет

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

Как пользоваться этим инструментом

  1. Введите домен. Введите или вставьте доменное имя, например example.com. Подойдёт и полный URL: схема, путь и начальное www будут отброшены.
  2. Прочитайте SPF-запись. Инструмент запрашивает TXT-записи и выбирает ту, что начинается с v=spf1.
  3. Изучите замечания. Проверяется, нет ли нескольких записей, какой квалификатор стоит у all и сколько механизмов требуют DNS-запросов.

То же самое в командной строке

Та же проверка из терминала. В командах используется example.com: замените его своим именем.

  • SPF-записьdig example.com TXT +short | grep -i "v=spf1"
  • Запись хоста, подключённого через includedig _spf.example.com TXT +short
  • Windowsnslookup -type=TXT example.com

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

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

Введите домен выше. В терминале команда dig TXT example.com покажет все TXT-записи; SPF-запись — та, что начинается с v=spf1.

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

Нет. Больше одной записи, начинающейся с v=spf1, — это ошибка, и получатели считают, что SPF не пройден. Объедините механизмы в одну запись.

В чём разница между ~all и -all?

-all (fail) просит получателей отклонять почту с серверов, которых нет в списке. ~all (softfail) просит принимать её, но помечать как подозрительную. При настроенном DMARC в обоих случаях применяется политика DMARC.

Что такое лимит SPF в 10 запросов?

Проверка SPF-записи может вызвать не более десяти DNS-запросов, считая include, a, mx, exists, redirect и ptr, в том числе внутри подключённых записей. Сверх этого результатом будет постоянная ошибка.

Достаточно ли корректной SPF-записи, чтобы письма попадали во «Входящие»?

Нет. Она устраняет одну из причин отклонения. Размещение письма зависит также от DKIM, DMARC, репутации отправителя и содержания сообщения.