具有多个发件人的 SPF TXT 记录 - 退回 - spf 检查失败

具有多个发件人的 SPF TXT 记录 - 退回 - spf 检查失败

我的公司使用 Office 365 来收发电子邮件,但我们也从我们的某个服务器的 IP 地址发送电子邮件。我的 TXT 记录是:

v=spf1 ip4:XXX.XX.XX.XXX include:spf.protection.outlook.com -all

(XXX.XX.XX.XXX 是我们发送邮件的服务器 IP 地址)

然而,当我们发送到某些外部电子邮件时,我们会收到退回邮件,内容如下:

There was a SMTP communication problem with the recipient's email server.  Please contact your system administrator.
<srvexch.network.local #5.5.0 smtp;550 SPF check failed. Sender not authorized>

但我们并非从所有外部电子邮件中都获得该信息,只能从部分外部电子邮件中获取。

我是新手,我的 txt 记录中是否有某些内容可能会导致退回?

答案1

您的 SPF 记录看起来不错,但我们无法知道您是否确实从记录中列出的 IP 地址发送电子邮件(您需要提供标头和未混淆的 SPF TXT 记录)。您可以查看退回邮件的标头并自行进行比较。

include 指令正确解析:spf.protection.outlook.com。3600 IN TXT“v=spf1 include:spf-a.outlook.com include:spf-b.outlook.com include:spf-c.outlook.com include:spf.messaging.microsoft.com -all”

这可能只是特定收件人 MTA 的一个暂时性问题。

如果您继续遇到问题,您可以考虑将最终的 SPF 匹配更改为 ~all(软失败),但如果您的 SPF 记录正确且维护良好,则 -all 是更好的选择。

答案2

总是有助于故障排除。Mark 是对的,需要从标头确认原始地址。此外,您分享的 SPF 有一个 ip4 和一个包含,这是实际情况吗?365 的一个陷阱是他们的“包含”会响应额外的 dns 查找,实际上大约 7 或 8 个。

SPF RFC 规定每条记录的 DNS 查询次数不得超过 10 次(?)。因此,您的域名为 [#1]、spf.protection.outlook.com [#2],其响应为 spf-a.outlook.com[#3]、spf-b.outlook.com[#4]、spf-c [#5],messaging.micro... 还有 3 个 [#6,7,8,]。因此,到目前为止,我们最多进行了 8 次查询。您的域名还有其他包含项吗?他们还有其他查询吗?这个问题一直困扰着我们,直到我们将多个邮件源合并到一个中继服务中。

答案3

你试过了吗include:outlook.com?该 URL 看起来不适合发送。

查看文档,大部分都是说使用 outlook.com。

相关内容