我对 Stack Overflow 还很陌生,所以,大家好!
我需要在我的网站“main.com”(不是真实地址)中添加 SPF 记录,以允许电子邮件发布公司“emailpublishers.com”(不是真实地址)代表我发送电子邮件。但是,我对添加 SPF 记录感到紧张,因为如果操作不当,可能会造成严重破坏。
我使用 Google Apps。我还使用“auxiliary.com”从“main.com”发送邮件。当然,我也使用“main.com”发送邮件。“auxiliary.com”没有 SPF 记录。
我使用 Microsoft 和 OpenSPF 的向导生成了以下 SPF 条目。这对我来说似乎正确吗?
"v=spf1 a mx ip4:55.55.555.55 mx:alt1.aspmx.l.google.com mx:alt2.aspmx.l.google.com mx:aspmx.l.google.com mx:aspmx2.googlemail.com mx:aspmx3.googlemail.com mx:aspmx4.googlemail.com mx:aspmx5.googlemail.com a:auxiliary.com include:_spf.google.com include:auxiliary.com mx:auxiliary.com include:emailpublishers.com mx:emailpublishers.com ~all"
然而,我的主机 MediaTemple说在知识库文章中使用:
v=spf1 a:main.com/20 ~all
这更加让我困惑了。
多谢!
答案1
首先:SPF 仅指定服务器将发送什么传出来自您域名的电子邮件。我得出了以下记录:
v=spf1 a mx ip4:1.1.1.1 包括:_spf.google.com 包括:emailpublishers.com ~all
定义:a 和 mx:允许您的域的 @A 记录和 MX 服务器发送电子邮件。这涵盖了您域的 @A 记录和所有 MX 记录(在这种情况下可能有点多余,但无妨)。
ip4:1.1.1.1:该 IP 地址应为auxiliary.com 的外发电子邮件服务器 IP 地址。您可能需要添加其中的几个,但这允许auxiliary.com 代表您发送电子邮件
include:_spf.google.com:这允许 google apps 为 main.com 发送电子邮件(这就是为什么上面的 mx 标签可能是多余的,因为 main.com 的 mx 记录是 google apps)
include:emailpublishers.com:您需要询问 emailpublishers.com 应使用哪种 SPF,但我认为它们应该类似。如果他们有,请用他们的 SPF 替换此 SPF。
~all:软失败来自 main.com 的任何电子邮件,这些电子邮件来自此记录中未列出的服务器。这会告诉垃圾邮件过滤器使用 SPF 作为将电子邮件标记为垃圾邮件的标准之一。使用 -all 是硬失败,这意味着 SPF 记录未捕获的任何内容都是垃圾邮件。但这可能会导致误报。
(编辑)完成后,通过向 Gmail 帐户发送电子邮件进行测试。Gmail 会在邮件头中记录电子邮件是否通过了 SPF 检查。这对于测试非常有用。
(编辑 2)SPF 记录中的“a”仅允许您域的 @ A 记录发送邮件,而不是所有 A 记录。例如,带有 SPF 记录 v=spf1 a ~all 的 example.org 将允许 example.org 发送邮件,但不允许 beta.example.org 或 testing.example.org 发送邮件。已修复上述问题。
答案2
此外,如果您从邮件系统转发邮件并在邮件服务器上启用了 spf 检查,请小心,因为您的 SPF 检查将捕获您自己的转发,因为它看起来像您正在为某个不属于您的域发送邮件,并且恰好具有 SPF 记录。