email - 使用最终 ~all 规则的 SPF 记录有什么意义?

标签 email postfix-mta spf

在过去的一个小时里,我一直在深入研究 SPF,浏览 RFC-4408 , 然后继续 another tutorial .

我拥有自己的域,在该域​​后面的服务器上安装了 postfix。除了我的普通地址外,我还希望能够使用 GMail 发送电子邮件,使用我自己的电子邮件地址作为发件人。

我确实收到了很多退回垃圾邮件,其中垃圾邮件发送者将我的电子邮件地址用作“发件人”行 :( 据我了解,SPF 用于检查是否允许给定的 SMTP 服务器发送具有特定发件人域名的邮件。这将有助于上述退回。

很明显,如果我想通过 gmail 发送邮件,我必须允许 gmail 通过 SPF 记录以我的名义发送。

正在关注 their help , 我添加了以下 TXT 记录:

v=spf1 include:_spf.google.com ~all

他们明确地建议不要使用-all作为失败规则。

鉴于 ~all 是一个仍然接受所有消息的“软故障”,启用 SPF 有什么意义呢?

我尝试从外部主机发送一些邮件,它们被接受了,唯一的区别是我的邮件服务器假定没有 SPF 记录。

通过 GMail 发送时的日志摘录:

May  8 15:15:58 h2150855 policyd-spf[6184]: None; identity=helo; client-ip=300.300.300.300; helo=mail-lf0-f52.google.com; envelope-from=mygmailaddress@gmail.com; receiver=mypersonaladdress@example.com
May  8 15:15:58 h2150855 policyd-spf[6184]: Pass; identity=mailfrom; client-ip=300.300.300.300; helo=mail-lf0-f52.google.com; envelope-from=mygmailaddress@gmail.com; receiver=mypersonaladdress@example.com

...并通过第三方服务器发送:

May  8 15:19:17 h2150855 policyd-spf[6554]: None; identity=helo; client-ip=301.300.300.300; helo=theserver.example.com; envelope-from=exhuma@theserver.example.com; receiver=mypersonaladdress@example.com
May  8 15:19:17 h2150855 policyd-spf[6554]: None; identity=mailfrom; client-ip=301.300.300.300; helo=theserver.example.com; envelope-from=exhuma@theserver.example.com; receiver=mypersonaladdress@example.com

我能看到的唯一区别是 postfix SPF 插件将 gmail 邮件明确标记为 Pass,而另一个标记为 None

我现在认为添加 SPF 并没有真正对我的邮件设置做任何事情,我正在考虑再次删除它。

最佳答案

它推荐 ~all 而不是 -all 的原因是因为它与 DMARC 交互的方式;使用 -all 的建议早于 DMARC 的存在。 -all 确实是一个有效(且正确)的设置如果您单独使用 SPF,但 -all 通常会破坏 DMARC,因为它的规则会不予评价。如果你设置一个~all默认的SPF Action ,它会将决定交给DMARC层,此时你可以说“我们认为SPF软失败是硬失败”,然后继续收获DMARC 的其他好处。

所以,简而言之,如果您使用的是 DMARC,~all 并非毫无意义。 (?all 总是 毫无意义!)

关于email - 使用最终 ~all 规则的 SPF 记录有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37100363/

相关文章:

node.js - 在 Node.js 中发送电子邮件?

email - 打开 outlook 的新电子邮件对话框,其中包含来自 powershell 的预填充信息

php - Return-Path header 由 postfix 重写

如果发件人是雅虎邮箱,则 gmail 不会收到 phpmailer 电子邮件

标记为垃圾邮件的电子邮件 - SPF 通过、DKIM 通过、发件人 ID 通过

javascript - 我可以在 sendgrid 上使用 Javascript 吗?

c# - 如何使用MimeKit获取电子邮件的所见即所得主体

email - SPF=neutral,来自 Google Apps 域的电子邮件

PHP 邮件格式问题 - 为什么 CRLF 标题行结尾会破坏 Outlook 中的 HTML 电子邮件?

ruby-on-rails - 通过 Rails 应用程序从 postfix 发送的电子邮件将被发送到 gmail 中的垃圾邮件