Допустим, у меня есть запись SPF, которая гласит:
v=spf1 include:_foo.example.com ~all
и скажем, что _foo.example.com
имеет следующее:
vspf1 ip4:1.1.1.1 -all
Есть ли -all
запись во вложенной записи spf имеет приоритет? Или бы ~all
запись в родительской записи имеет приоритет?
Коротко: ~all
, но не из-за приоритета. An include
может только Pass
.
Это описано в документации к include
механизм:
Оглядываясь назад, можно сказать, что название «включить» было выбрано неудачно. Используется только результат оценки указанной записи SPF, а не действует так, как если бы указанная запись SPF была буквально включена в первую. Например, оценивая
-all
директива в указанной записи не завершает общую обработку и не обязательно приводит к общемуFail
. (Лучшими названиями для этого механизма были бы «если прошел», «прошел» и т. Д.)
Другими словами, это не вопрос приоритета, а скорее порядок обработки: если include
не Pass
(не только из-за -all
но также и все остальное внутри него), его нельзя использовать как Pass
, как и в противном случае, но это не приведет к общему Fail
либо. В результате он вернется к ~all
в исходной записи SPF.