【问题标题】:What is the correct SPF record for using both Amazon SES and Google Apps什么是同时使用 Amazon SES 和 Google Apps 的正确 SPF 记录
【发布时间】:2013-09-22 08:04:41
【问题描述】:

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

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

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

Google 想要:“v=spf1 include:_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 发送电子邮件,没有别的。

【问题讨论】:

  • 您找到解决方案了吗?
  • 不,我仍然不能 100% 确定。我不确定如何确保它正常工作。我很确定 SES 可以工作,但谷歌没有得到正确验证。当然,电子邮件仍然会被发送和接收,但我无法判断 SPF 是否真的有效。
  • 我设置了 SPF 记录,它对我来说工作正常。你的记录没问题。
  • 根据serverfault.com/questions/682467/…,您应该在 DNS 中将其列为 TXT 而不是 SPF。

标签: email google-apps amazon-ses spf


【解决方案1】:
  1. 发布 TXT 记录:

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

    Amazon SES documentation 表示域不需要额外的 SPF 配置,但事实证明,将 include:amazonses.com 添加到记录中也会使 Sender ID 通过。即使 Sender ID 是 considered obsolete,一些接收者也可以实现它。

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

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

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

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

  2. 根据 RFC 7208 的第 3.1 节:

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

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

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

    • 通过 Gmail 和 Amazon SES 测试电子邮件表单向 check-auth@verifier.port25.com 发送电子邮件。
    • 然后,在自动回复中搜索SPF check: pass

【讨论】:

  • 虽然我同意你的观点,亚马逊说不需要触摸 spf 记录,但我发现如果我在我的 spf 记录中包含 amazonses.com,如此处所示"v=spf1 include:_spf.google.com include:amazonses.com ~all" 然后发件人- check-auth@verifier.port25.com 的 ID 检查从软失败变为通过。我认为它不会提高可交付性,但通过可能会更干净?
  • @triadiktyo - 我想知道同样的事情。获得通行证我肯定感觉更好。
  • @triadiktyo:这是一个很好的收获。我已经相应地更新了帖子。未来读者请注意:port25 不再验证发件人 ID。
  • 请注意,自定义 SES 邮件发件人的单独 TEXT 记录将具有不同的名称子域,即您在设置自定义发件人时告诉 SES 的子域。
【解决方案2】:

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

"-" = 只允许列出的主机

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

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

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

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

【讨论】:

  • Amazon SES 不是特别说您不需要为 SPF 做任何事情吗?见docs.aws.amazon.com/ses/latest/DeveloperGuide/…
  • @user1480192 您不必需要,但最好这样做。如果您希望发送的电子邮件来自您自己的域而不是 AmazonSES 域,或者您希望您的电子邮件通过 DMARC 测试,则确实需要这样做。
【解决方案3】:

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

Gmail:

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

Yandex:

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

【讨论】:

    猜你喜欢
    • 2014-06-16
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    相关资源
    最近更新 更多