21

一起用于 Amazon SES 和 Google Apps 的正确 SPF 记录是什么:

Google Apps 说他们希望您在其中包含波浪号“~”: http: //support.google.com/a/bin/answer.py ?hl=en&answer=178723 ,但大多数其他示例都有破折号“-”反而。

亚马逊想要:“v=spf1 包括:amazonses.com -all”

谷歌想要:“v=spf1 包括:_spf.google.com ~all”


我们目前有这个,将两者结合在一起:

TXT "v=spf1 包括:amazonses.com 包括:_spf.google.com ~all"

SPF“v=spf1 包括:amazonses.com 包括:_spf.google.com ~all”


1) 这是正确的 SPF 记录吗?

2) 我们是否遗漏了什么,该记录是否应该与 TXT 和 SPF DNS 记录完全相同?这就是我们所拥有的,我们没有其他任何东西。

我们只从 Google Apps 和 Amazon SES 发送电子邮件,没有别的。

4

3 回答 3

20
  1. 发布 TXT 记录:

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

    Amazon SES文档说,域不需要额外的 SPF 配置,但事实证明,添加include:amazonses.com到记录中也会使发件人 ID通过。尽管 Sender ID 被认为是 过时的,但一些接收者可以实现它。

    如果 Amazon SES配置为使用自定义 MAIL-FROM 子域,请为该子域发布另一条 TXT 记录:

    "v=spf1 include:amazonses.com ~all"
    

    最好设置一个自定义子域,以获得更好的交付能力和客户体验。例如,域将显示mailed-by在 Gmail 的字段中。

    您可以使用-all代替~all。在这种情况下,来自 SPF 记录未涵盖的来源的电子邮件可能会被收件人拒绝。

  2. 根据 RFC 7208 的第 3.1 节:

    SPF 记录必须仅作为 DNS TXT(类型 16)资源记录 (RR) [RFC1035] 发布。

    因此,SPF 记录类型现在已过时。

  3. 关于您的评论,这是测试 SPF 是否有效的一种简单方法:

    • check-auth@verifier.port25.com从 Gmail 和 Amazon SES 测试电子邮件表单发送电子邮件。
    • 之后,在自动回复中搜索SPF check: pass.
于 2015-06-16T11:38:31.367 回答
11

正确的是在 SPF 中包含每个发件人,关于 - 或 ~ 它是 SPF 属性

“-” = 只允许列出的主机

"~" = 列出的主机应该发送但可能存在另一个发送者。

如果您 100% 确定您拥有所有列出的发件人,您可以更改 ~ 为 -但您不应该同时维护两者。

TXT "v=spf1 包括:amazonses.com 包括:_spf.google.com -all"

http://www.open-spf.org/SPF_Record_Syntax/

于 2013-11-21T13:15:52.837 回答
0

经过数月尝试创建正确的 SPF 记录并阻止我来自亚马逊的电子邮件被归类为垃圾邮件后,我发现存在 SPF 语法验证器。使用验证器和 SPF 策略测试器,我能够创建符合我要求的 SPF 记录。

邮箱:

v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 a:amazonses.com include:_spf.google.com +mx ?all

扬德克斯:

v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 a:amazonses.com include:_spf.yandex.net +mx ?all
于 2018-12-06T11:18:41.570 回答