我开始在我的(电子邮件)域上使用 SPF。(尚无 DKIM 或 DMARC。)
我认为 SPF 中的 HELO 身份检查没什么用,并且正在考虑将 HELO 身份设置为我的域(而不是主机名)或机器的 IP。
除了以下几点之外,SPF HELO 检查有什么用?在 SMTP 客户端中,使用 IP 或域作为身份有什么好处?
- 这违背了标准的精神(我不太喜欢遵循标准只是遵循标准,特别是如果它没有违反必须规定的话。
- 退回邮件和通知的空 MAIL FROM 将根据 HELO 身份进行检查(如果这些发送到外部系统的通知与我的 IP/域的 SPF 可信度不一致,对我来说是可以接受的。)
- 过滤无法在任何随机单个域(他们计划用于 HELO 的域)上设置 DNS TXT 记录的垃圾邮件发送者
答案1
仅在 RFC7208 中推荐:
2.3. “HELO”身份
建议 SPF 验证器不仅检查“MAIL FROM”身份,还通过将 check_host() 函数(第 4 节)应用于“HELO”身份来单独检查“HELO”身份。检查“HELO”可提高结果的一致性并可减少 DNS 资源使用量。如果可以根据对“HELO”的检查对消息做出最终判断,则可以避免使用 DNS 资源来处理通常更复杂的“MAIL FROM”。此外,由于针对“HELO”身份发布的 SPF 记录引用单个主机,因此当可用时,它们是主机授权状态的非常可靠的来源。如果同时检查“HELO”和“MAIL FROM”,则建议先检查“HELO”,然后再检查“MAIL FROM”。
请注意,EHLO 或 HELO 命令中显示的域的要求并不总是对发送方来说很清楚,并且 SPF 验证器必须准备好身份是 IP 地址文字(参见 [RFC5321],第 4.1.3 节)或只是格式错误。只有当“HELO”字符串是有效的多标签域名时,才能执行此 SPF 检查。
并且您很可能发现了与标准相关的记录问题,并且得到了易于阅读的解释从第一原理解释:
HELO 身份
为了防止邮件循环,自动响应中不提供 MAIL FROM 地址。在这种情况下,将使用地址 postmaster@ 后跟 HELO/EHLO 命令中的域进行 SPF 评估。还可以通过评估 HELO/EHLO 域的 SPF 记录来单独验证 HELO 身份。邮箱提供商必须为其每个外发邮件服务器配置 SPF 记录。据我所知,这在实践中很少这样做。我发现只有 Outlook.com 的外发邮件服务器才有 SPF 记录。除非您自己运行邮件服务器,否则 SPF 的这个方面无需担心。
但是,可能存在“未记录”的原因,例如接收服务器上的工作证明。正如您所说,您可以随意处理您的服务器,接收服务器的管理员也可以随意处理您的邮件,有多少垃圾邮件存在与 HELO 相关的问题,也许只是为了安全起见,将那些不严格遵循标准的邮件发送到垃圾邮件文件夹。
因此,HELO 检查也许可以向另一边的管理员表明你可以遵循标准,甚至包括他们的“精神”。