Определение и границы

Синтаксис SPF, рекурсивные include, void lookup и постоянные ошибки.

Сначала определите смысл и ограничения результата и только затем меняйте рабочую конфигурацию.

Как это работает

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

Как читать результат

Лимит RFC — 10 механизмов, вызывающих DNS, во всей цепочке, а не десять токенов корневой записи. Более двух void lookup также считаются ошибкой. Квалификаторы означают pass (+), fail (-), softfail (~) и neutral (?).

Корректные и ошибочные примеры

Сравните нормализованные примеры. В технических значениях используются документальные диапазоны и зарезервированные имена.

Корректно
v=spf1 ip4:192.0.2.0/24 include:_spf.example.net -all
Ошибочно или вводит в заблуждение
v=spf1 include:a.example include:b.example … include:k.example +all
ЭлементНазначениеПример
ip4 / ip60 DNS termsip4:192.0.2.0/24
include1 + nested termsinclude:_spf.example.net
a / mx / exists1 DNS termmx:example.com
ptrDeprecatedptr
redirect1 + nested termsredirect=_spf.example.net
all0 DNS terms-all

Типовые проблемы

Длинные цепочки include, несколько SPF-записей, циклы redirect, устаревший ptr и +all делают политику ненадёжной. Одна TXT-запись может состоять из нескольких 255-байтных строк; несколько отдельных SPF-записей недопустимы.

Практический чек-лист

Считайте запросы рекурсивно до добавления отправителя, по возможности заменяйте широкие include стабильными сетями и завершайте запись осознанной политикой all.

Стандарты и первичные источники

Поведение протокола задают первичные спецификации. Документация провайдера может дополнять эксплуатационные требования, но не заменяет стандарт.