我试图弄清楚为什么即使将伪造的电子邮件标记为SPF,伪造的电子邮件仍会传递给主要电子邮件提供商(gmail.com,outlook.com)hardfail
。该电子邮件也将传递给Microsoft Exchange,Microsoft Exchange PermError
将为相同的SPF记录抛出。
我正在使用SOME_DOMAIN.com域发送电子邮件,该域定义了损坏的SPF记录。电子邮件是通过我自己的IP地址发送的,该地址未在SOME_DOMAIN.com的SPF记录中明确列出。SOME_DOMAIN.com的SPF记录具有以下三个属性,前两个属性违反了SPF RFC-4408:
- 由于,需要10个以上的DNS查询来解析整个SPF记录
include:
。 - SPF记录之一中的语法错误,python-spf引发解析错误。
- SPF记录包含规则
~all
和-all
,都表示所有地址的集合都应softfail
和hardfail
发送到模拟admin@SOME_DOMAIN.com的Outlook.com地址的电子邮件将在已发送电子邮件的SMTP标头中包含以下错误。该电子邮件通常已发送到用户的收件箱:
Received-SPF: PermError (: domain of SOME_DOMAIN.com used an invalid SPF mechanism)
Gmail还将电子邮件发送到用户的收件箱,但会引发不同的SPF错误:
spf=hardfail (google.com: domain of admin@SOME_DOMAIN.COM does not designate x.x.x.x as permitted sender) smtp.mail=admin@SOME_DOMAIN.COM
那么这是怎么回事?为什么尽管有SPF仍会发送电子邮件hardfail
?SPF记录破损是否意味着其他SMTP服务器完全忽略了SPF?还是我在这里想念的东西...