![SPF 阻止返回路径邮件](https://linux22.com/image/684386/SPF%20%E9%98%BB%E6%AD%A2%E8%BF%94%E5%9B%9E%E8%B7%AF%E5%BE%84%E9%82%AE%E4%BB%B6.png)
我们在所有发送的电子邮件中使用唯一的返回路径电子邮件来跟踪退回并提供反馈,但最近我们遇到 SPF 记录失败的问题,因为人们被允许通过自己的域和 SMTP 服务器发送,然后显然我们的 SPF 记录没有设置为允许这些 IP。
因此基本上,其他邮件服务器不会使用发件人电子邮件来检查 SPF,而是使用返回路径邮件,有没有办法设置我的 SPF 记录,以便将返回路径设置为我们的域的邮件可以通过,但人们不能仅仅欺骗域?
以下是其中一个反弹:
该消息是由邮件传递软件自动创建的。
您发送的邮件无法递送给一个或多个收件人。这是一个永久性错误。以下地址失败:
[电子邮件保护]
主机 mx11.mailzone.co.za [41.138.92.77]
数据结束后远程邮件服务器出现 SMTP 错误:
550 197.242.144.98 不允许从 itensityonline.co.za 发送邮件。请参阅http://www.openspf.net/为什么?scope=mfrom;[电子邮件保护];IP地址=197.242.144.98
但就像我说的,返回路径来自该域,而不是发件人地址。
答案1
... 其他邮件服务器不使用发件人电子邮件来检查 SPF,而是使用返回路径邮件...
SPF 仅检查 SMTP 信封中给出的发件人地址,即所谓的“Return-Path”。SPF 不关心邮件本身的内容,包括邮件标头。这也意味着 SPF 不关心“发件人”标头,因此不会处理伪造的“发件人”标头。
因此,来自 ('return-path') 的 SMTP 信封邮件必须符合您的 SPF 策略。允许您的用户使用他们想要的任何邮件服务器正是 SPF 试图阻止的,因为在这种情况下,不再有办法区分“您的用户”和“任何其他人”。
因此,如果您想为您的域使用 SPF,您要么制定一个开放的(可能无用的)策略,其中包括您的用户使用的所有邮件服务器,要么让您的用户使用您的邮件服务器(经过授权)。最后一个选项要好得多,因为这样您就可以使用严格的 SPF 策略,而大多数提供商都是这样做的。
答案2
事实上,问题不在于任何一个方面。
您的 SPF 记录是"v=spf1 ip4:41.76.211.241 -all"
。
这意味着只有具有 IP 的机器才41.76.211.241
允许发送来自 的消息itensityonline.co.za
,而不允许进行任何中继或其他操作。
这意味着,从该域接收消息的邮件服务器itensityonline.co.za
仅当发送 IP 是 时才允许传送41.76.211.241
。
如果发送的机器与 SPF 记录中配置的发送邮件服务器不同,则邮件消息将被丢弃,并且丢弃的邮件消息将被回复。
去引用维基百科
发件人策略框架 (SPF) 是一个简单的电子邮件验证系统,旨在通过提供一种机制允许接收邮件交换器检查来自某个域的传入邮件是否来自该域管理员授权的主机来检测电子邮件欺骗。
以下步骤是启用 SPF 的邮件服务器上发生的情况。
- 接收来自
[email protected]
以下bogus.example.io
IP 的邮件127.0.0.1
- 检索 TXT 记录
example.com
- 检查 TXT 记录中的 SPF 记录。
- 解析 SPF 记录。
- 检查 SPF 记录是否允许或拒绝
bogus.example.io
来自example.com
- 检查 SPF 记录是否允许或拒绝
127.0.0.1
来自example.com
- 如果 SPF 检查通过(允许投递),则将邮件投递到邮箱。
- 如果 SPF 检查失败,则退回并丢弃邮件(如果已配置,则回复操作)。
答案3
您的 spf 策略非常严格,因为 -all 规定所有从不允许的来源发送的电子邮件都将被拒绝。
"v=spf1 ip4:41.76.211.241 -all"
你有两个解决方案。
- 将策略改为不太严格,将 -all(拒绝所有电子邮件,除非来自允许的来源)改为 ~all
2,添加您发送邮件的 IP。新记录如下所示:
"v=spf1 +ip4:41.76.211.241 +ip4:197.242.144.98 -all"
由于许多提供商都在使用智能主机,因此您无法知道他们可以发送的所有 IP,因此您需要他们的帮助来创建包含所有服务器的有效 spf 记录。如果此 IP 197.242.144.98 是您的提供商的 IP,您可以添加包含所有服务器的 spf 集合(如果他们使用相同的路径):
"v=spf1 +ip4:41.76.211.241 +include:aserv.co.za -all"