当通过我们的 Exchange 365 服务发送邮件时,这些邮件可以成功通过,但如果我们查看邮件标头,我们会发现发件人和收件人位于我们的租户中,邮件实际上没有通过 SPF;而如果我们将邮件发送给第三方(例如 Gmail 地址),则 SPF 是正确的。
具体来说,我们看到内部发送的邮件显示为具有该ip6:2603:1000::/24
范围内的 IP(例如2603:10a6:400:49::16
...并且该 IP 未在spf.protection.outlook.com
.
同样,当检查发送给第三方的邮件标头时,我们会看到邮件标头中包含 DKIM 选择器。对于发送到我们租户内其他邮箱的邮件,不存在此类标头。
其他人多年来一直在报告同样的情况。和其他人一样,我也曾与微软的支持人员交谈过,但这种情况对他们来说是不符合剧本的,所以这让我无处可去。
我的猜测是,当邮件在租户内时,MS 不关心 SPF/DKIM,因为他们知道这些邮件是有效的,所以他们不会过滤它们。但是,我找不到任何文档来确认这一点,这似乎是错误的(例如,如果您的邮件客户端有自己的逻辑来验证这些,它如何知道信任它们)。这是一个令人沮丧的问题,因为在调查真实的电子邮件问题时,很难判断未通过这些检查的邮件是否表明存在真正的问题,或者,由于有效的邮件也未通过这些检查,我们正在寻找错误的地方。
通常,这些身份验证检查是在组织网络的边缘执行的,因此内部电子邮件流中不存在这些标头是有意义的。
其他标头确实提供了有关该电子邮件是否为内部电子邮件的线索。例如,
X-MS-Exchange-Organization-AuthAs: Internal
标头告诉您电子邮件来自您的租户,或者在混合环境中通过使用类型匹配的 Exchange Online 入站连接器OnPremises
(如果设置正确)来自您的本地 Exchange Server。X-MS-Exchange-Organization-MessageDirectionality: Originating
是另一个。这实际上是一篇关于 Exchange 混合环境中邮件流的非常全面的文章,但适用于您的问题。
您对 Microsoft SPF/DKIM 的猜测可能部分正确。由于电子邮件位于相同的出租家庭,微软可能会默认信任这些电子邮件,并且不会应用与外部电子邮件相同的筛选规则。DMARC、DKIM、SPF 不用于内部电子邮件,仅用于外部电子邮件,仅用于外部电子邮件,我同意 Reinto 的建议。这里也有一些讨论:https: //community.spiceworks.com/topic/2461253 -内部电子邮件没有-dmarc-dkim-spf-身份验证