Dns 结合多个SPF记录,如何决定应该使用什么限定符?

Dns 结合多个SPF记录,如何决定应该使用什么限定符?,dns,spam-prevention,spf,Dns,Spam Prevention,Spf,我不确定在尝试合并SPF记录时应该使用什么限定符 我知道StackOverflow上还有很多其他问题,关于什么组合SPF记录是正确的,但我找不到一个问题可以清楚地解释为什么在各种服务建议使用不同的限定符时应该使用某个限定符 我目前的记录如下: v=spf1+a+mx+ip4:111.222.333.444包括:_spf.google.com~全部包括:servers.mcsv.net?全部包括:mailgun.org~全部 记录如下: 包括:_spf.google.com~all 记录如下:

我不确定在尝试合并SPF记录时应该使用什么限定符

我知道StackOverflow上还有很多其他问题,关于什么组合SPF记录是正确的,但我找不到一个问题可以清楚地解释为什么在各种服务建议使用不同的限定符时应该使用某个限定符

我目前的记录如下:

v=spf1+a+mx+ip4:111.222.333.444包括:_spf.google.com~全部包括:servers.mcsv.net?全部包括:mailgun.org~全部

记录如下:

  • 包括:_spf.google.com~all
记录如下:

  • 包括:servers.mcsv.net?全部
记录如下:

  • include:mailgun.org~all
我应该如何决定在
+all
-all
~all
中使用什么限定符

下列哪一项是正确的

  • v=spf1+a+mx+ip4:111.222.333.444 include:_spf.google.com include:servers.mcsv.net include:mailgun.org~all
  • v=spf1+a+mx+ip4:111.222.333.444 include:_spf.google.com include:servers.mcsv.net include:mailgun.org?全部
  • v=spf1+a+mx+ip4:111.222.333.444 include:_spf.google.com include:servers.mcsv.net include:mailgun.org+all
  • v=spf1+a+mx+ip4:111.222.333.444 include:_spf.google.com include:servers.mcsv.net include:mailgun.org-all
  • MX&A 同样的问题也涉及到
    +a
    +mx
    的使用,我是否也需要包括它们

    +呢? 我是否需要在
    +a
    之前包含+、
    +mx
    +ip4


    请记住,我们通过Mailchimp、MailGun、Google和服务器发送电子邮件。

    您当前的记录毫无意义。规则是从左到右计算的,因此默认(
    all
    )机制应该始终是最后一个

    当您
    包含
    外部SPF记录时,它包含的任何
    所有
    操作都会被有效忽略(因为它会被您自己稍后的指令覆盖)

    MailChimp的记录是愚蠢的(quelle惊奇)<代码>?all
    相当于根本没有SPF记录,但在这种情况下没有区别

    文字IP机制是最快的,因为它们不需要DNS查找来检查,所以把它们放在第一位被认为是礼貌的

    在机制前面不需要
    +
    ,因为这是默认限定符

    a
    机制意味着“允许
    a
    记录返回此主机的IP”。类似地,
    mx
    表示“允许从同时也是此域的邮件交换器(邮件服务器)的任何IP发送”。如果这些是真的,请添加它们。我建议将它们放在任何
    include
    机制之前,因为它们只需要一次DNS查找,而且它们很可能已经被接收者缓存了

    您不应该使用
    +all
    ;这是非常糟糕的,因为它给所有源提供了一个肯定的
    通过
    结果,这比没有SPF记录更糟糕<代码>?所有都与没有SPF相同,因此您也不应该使用SPF

    如果您也在使用DMARC,则应使用
    ~all
    ;如果没有,请使用
    -all
    。原因是SPF规则在DMARC之前进行评估,并且在DMARC有机会完成其任务之前,
    -all
    将导致立即终止。然后,可以将DMARC配置为拒绝任何获得
    softfail
    的内容,其报告机制可以完成它们的任务

    如果您使用的是DMARC,我建议您使用此记录,如果您不是:

    v=spf1 ip4:111.222.333.444 a mx include:_spf.google.com include:servers.mcsv.net include:mailgun.org ~all
    

    无论您最终得到什么,请查看。

    谢谢您的详细回复!为了说明将
    +
    放在机械装置前面没有什么害处?在阅读您的回复之前,我最终解决了
    ~all
    ,但我没有DMARC设置;然而,我们有DKIM。保留
    ~all
    而不是
    -all
    有什么害处吗?为什么大多数来源GSuite、Mandrill、Mailgun、Outlook和许多其他来源都建议
    ~all
    是的,
    +
    是完全无害的。大多数地方都应该推荐
    ~all
    ,这正是因为DMARC,但他们也可能会这样做,因为他们不相信你有足够的决心和能力去做
    -all
    ,也不想承担破坏你电子邮件的责任!如果您已经确定了所有的源代码,并且没有使用DMARC,请务必使用
    -all
    。尽管如此,我还是建议使用DMARC,如果只是因为它通过报告提供的洞察力。非常感谢,希望其他人能够从中受益。