在过去的一个小时里,我一直在研究SPF,浏览RFC-4408,并查看另一个教程。
我拥有自己的域名,在该域名后面的服务器上安装了postfix。除了我的正常地址外,我还希望能够使用GMail发送电子邮件,并将我的电子邮件地址作为发件人。
我确实收到了很多回退垃圾邮件,其中垃圾邮件发送者使用了我的电子邮件地址作为“发件人”:(据我所知,SPF用于检查给定的SMTP服务器是否允许使用某些发件人域名发送邮件。这将有助于解决反弹问题。
因此,显然,如果我想能够通过gmail发送邮件,我必须允许gmail通过SPF记录以我的名义发送邮件。
根据他们的帮助,我添加了以下TXT记录:
他们特别建议不要使用“-all”作为回退规则。
鉴于“~all”是一种“软失败”,仍然接受所有消息,那么启用SPF有什么意义?
我尝试从外部主机发送一些邮件,它们被接受,唯一的区别是我的邮件服务器假定没有SPF记录。
通过GMail发送时日志的摘录:
我能看到的唯一区别是后缀SPF插件明确将Gmail消息标记为“Pass”,而另一个标记为“None”。我现在认为添加SPF实际上并没有对我的邮件设置产生任何影响,正在考虑再次删除它。
我拥有自己的域名,在该域名后面的服务器上安装了postfix。除了我的正常地址外,我还希望能够使用GMail发送电子邮件,并将我的电子邮件地址作为发件人。
我确实收到了很多回退垃圾邮件,其中垃圾邮件发送者使用了我的电子邮件地址作为“发件人”:(据我所知,SPF用于检查给定的SMTP服务器是否允许使用某些发件人域名发送邮件。这将有助于解决反弹问题。
因此,显然,如果我想能够通过gmail发送邮件,我必须允许gmail通过SPF记录以我的名义发送邮件。
根据他们的帮助,我添加了以下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
我能看到的唯一区别是后缀SPF插件明确将Gmail消息标记为“Pass”,而另一个标记为“None”。我现在认为添加SPF实际上并没有对我的邮件设置产生任何影响,正在考虑再次删除它。
-all
的存在破坏了 DMARC,因此如果您也在使用 DMARC,则应使用~all
,请参阅我的答案。 - Synchro