如何确定SPF配置是否有效(Amazon SES/Route53)?

8

我正在使用Amazon SES和Route53,但不确定如何指定TXT值以包含正确的SPF配置。 Amazon给了我一个SES TXT名称/值对,类似于:

Name: "_amazonses.xxx.com"
Value: "bInxJfnRbxxxxx9uFXgmxxxxxQHd08UxxxxxxsG+k="

我将此插入到我的Route53记录集中(与Godaddy上的“区域文件”相同)。在将我的SMTP凭据添加到应用程序并让Amazon验证我的帐户(“授予生产访问权限”)后,它奏效了,我可以从我的网站向各种帐户(Gmail,Yahoo,Hotmail,我的.edu大学帐户)发送电子邮件。
我对SPF一无所知,但听说将其包含在电子邮件服务器配置中很好。通过谷歌搜索Amazon SES,我不断看到要包含以下代码片段:
"v=spf1 include:amazonses.com ~all"
"spf2.0/pra include:amazonses.com ~all"

目前,这两个片段与上面那个又长又丑的值(“bInxJfnRb...”)一起包含在相同的TXT值字段中,我的电子邮件仍然可以正常发送。

有两个相关的问题:

  1. 将所有3个片段放入单个TXT值字段是否是这些片段的正确位置?
  2. "v=spf1 include:amazonses.com ~ all"和"spf2..."的使用情况是什么?基本上,我如何知道它们是否起作用?
2个回答

8

Tim,

我一直使用TXT记录来保存SPF和SenderID信息,如下所示(下面的行是通过dig得出的结果):

mydomain.com. 86400 IN TXT "v=spf1 include:amazonses.com ?all"
mydomain.com. 86400 IN TXT "spf2.0/pra include:amazonses.com ?all"

这也是Amazon建议您这样做的方式。

SPF和SenderID都是ISP用来验证发送电子邮件的服务器是否真正经过授权才能代表您的域名进行发送的机制。当ISP要转发您的电子邮件消息时,他们将执行此类检查,以确保它不是垃圾邮件。在Amazon SES页面上的解释是我能找到的最简明的解释之一:

在互联网上传递电子邮件流量的ISP都非常清楚垃圾邮件及其活动。大多数ISP已采取措施评估电子邮件是否合法。 ISP考虑的其中一项操作是电子邮件身份验证,其中发送方提供证据证明他们是从中发送的帐户的所有者。在某些情况下,ISP将拒绝转发未经身份验证的电子邮件。

如果像Gmail,Yahoo!等提供商将您的电子邮件传递到最终目的地,则您的DNS条目可能已经正确。如果您尝试删除它们并等待一段时间以使DNS设置传播,那么很可能您的电子邮件将开始被归类为垃圾邮件。有一些网络工具,例如此工具,可以帮助您验证SPF记录。

希望这能帮到您。


感谢提供用于检查SPF记录的Web工具链接,非常不错!您知道我是否需要将SPF和SenderID信息指定为TXT SPF,还是只需指定TXT?此外,您能否说明第一个值Value:“bInxJfnRbxxxxx9uFXgmxxxxxQHd08UxxxxxxsG+k=”与SPF信息有何关系? - tim peterson
不用谢!如果您按照我建议的格式指定,就不需要 SPF 记录,只需要 TXT 就可以了(不过别忘了用双引号括起来)。至于其他提供给您的值,很抱歉我不知道它们的含义。 - Viccari
是的,我听说过双引号是必要的。我已经做到了。好的,我不会添加SPF,我只会保留TXT。是的,我不确定那个又大又丑的值是什么,但既然它能正常工作,我的邮件发送得很好,我就会保留它。 - tim peterson
加上 ?all 不会让整个东西变得无用吗?根据这篇文章 [https://wordtothewise.com/2014/06/authenticating-spf/](使用SPF进行身份验证:-all或~all的含义),它表示“没有策略声明”。 - null

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接