我正在使用 Office 365 收发电子邮件,并已将 DNS SPF 记录配置为:
v=spf1 include:spf.protection.outlook.com ~all
当我向 Google 收件人发送电子邮件时,会显示电子邮件标题并且邮件会送达。Received-SPF: pass (google.com: domain of [email protected] designates 2a01:111:f400:fe14::71b as permitted sender) client-ip=2a01:111:f400:fe14::71b;
但对于 Outlook 收件人来说,电子邮件标题会显示出来Received-SPF: Fail (protection.outlook.com: domain of domain.com does not designate 192.162.217.24 as permitted sender)
,并且该电子邮件会被标记为垃圾邮件。
我不知道为什么这两个邮箱提供商对该记录的处理方式不同?
谢谢。
答案1
当您解析相关 TXT 记录时
spf.protection.outlook.com TXT "v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/14 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/48 include:spfd.protection.outlook.com -all"
spfd.protection.outlook.com TXT "v=spf1 ip4:51.4.72.0/24 ip4:51.5.72.0/24 ip4:51.5.80.0/27 ip4:20.47.149.138/32 ip4:51.4.80.0/27 ip6:2a01:4180:4051:0800::/64 ip6:2a01:4180:4050:0800::/64 ip6:2a01:4180:4051:0400::/64 ip6:2a01:4180:4050:0400::/64 -all"
2a01:111:f400:fe14::71b
被授权为发件人,而 则192.162.217.24
不是。如果该 IPv4 主机是您的,则需要将其包含在 SPF 记录中。如果不是您的,则您的电子邮件配置存在缺陷。
答案2
适用的 SPF 记录spf.protection.outlook.com
(稍微修改的输出以便于阅读):
$ dig +short txt spf.protection.outlook.com
"v=spf1 include:spf.protection.outlook.com -all"
$ dig +short txt spf.protection.outlook.com
"v=spf1 ip4:40.92.0.0/15 \
ip4:40.107.0.0/16 \
ip4:52.100.0.0/14 \
ip4:104.47.0.0/17 \
ip6:2a01:111:f400::/48 \
ip6:2a01:111:f403::/48 \
include:spfd.protection.outlook.com -all"
$ dig +short txt spfd.protection.outlook.com
"v=spf1 ip4:51.4.72.0/24 \
ip4:51.5.72.0/24 \
ip4:51.5.80.0/27 \
ip4:20.47.149.138/32 \
ip4:51.4.80.0/27 \
ip6:2a01:4180:4051:0800::/64 \
ip6:2a01:4180:4050:0800::/64 ip6:2a01:4180:4051:0400::/64 \
ip6:2a01:4180:4050:0400::/64 -all"
可以看到ip6:2a01:111:f400::/48
,所以的发送IP地址是2a01:111:f400:fe14::71b
通过测试的。
我们看不到任何ip4
允许发送 IP 地址的语句192.162.217.24
,因此它未通过测试。
这两家邮件提供商似乎对该记录采取了相同的态度。