Записи SPF позволяют включать запись SPF чужих доменов в свои собственные. Например, example.com
может иметь include:_spf.google.com
в свою запись SPF, чтобы включить все правила SPF для _spf.google.com
.
Что происходит с mx
и простой a
(без :hostname
) части включенных правил для example.com
?
Бы mx
быть проанализированы как записи MX для _spf.google.com
или example.com
?
(и да, я знаю, что нет записей MX для _spf.google.com
, но я просто пытаюсь использовать очевидный include:
пример, но для ситуации, когда он был)
Во-первых, просто для ясности include
, s5.2 RFC 4408 говорит:
Используется только результат оценки указанной записи SPF, а не действует так, как если бы указанная запись SPF была буквально включена в первую.
Что касается того, MX
RR в include
d запись относится к вашему MX
, или MX
из include
d, я с радостью признаю, что Страница протокола OpenSPF невероятно бесполезен по этому вопросу, потому что в их примере используется один и тот же домен как для исходной, так и для включенной записи. Но RFC (очень немного) яснее, когда он пишет (снова в s5.2):
Механизм «включения» запускает рекурсивную оценку check_host (). Спецификация домена раскрывается в соответствии с Разделом 8. Затем check_host () вычисляется с полученной строкой как <domain>. Аргументы <ip> и <sender> остаются такими же, как в текущей оценке check_host ().
Я выделил бит, который я интерпретирую как означающий, что mx
и аналогичные записи оцениваются в контексте include
d домен. Но поскольку нет ничего лучше реальных данных, я определил следующие поддомены в одном из доменов моей семьи (waide.me.uk
, и спасибо за временный заем!):
foo IN TXT "v=spf1 include:bar.waide.me.uk -all"
foo IN A 10.5.5.5
bar IN TXT "v=spf1 mx -all"
bar IN MX 5 baz.bar
baz.bar IN A 78.46.204.154
Когда я использую Тестер Бевериджа (что рекомендует openspf.org), в нем говорится, что почта от fred@foo.waide.me.uk
прибывает из 78.46.204.154
это пропуск SPF. Обратите внимание, что этот адрес не упоминается. везде в foo.waide.me.uk
. Там является ан MX
ссылка в bar.waide.me.uk
с included
запись, но foo.waide.me.uk
не имеет MX. Если MX
в include
d запись не оценивалась в контексте include
d домен (bar.waide.me.uk
) он вообще не мог разрешиться.
И для полноты картины, когда я удаляю include
из foo.waide.me.uk
SPF, то, как мы теперь и ожидали, Беверидж сообщает об ошибке.