SPF和DKIM帮助:来自DMARC的FAIL报告是否表明存在问题?

我无法确定我的SPF和DKIM是否正确configuration。 以下是关键细节:

  • 我的域名是mysteryscience.com
  • 我们从谷歌应用发送邮件,从SendGrid和Intercom发送邮件。 所有似乎都正常工作,虽然我确实听到我们的电子邮件案件被标记为垃圾邮件,这就是为什么我正在调查这一点。
  • 我已经启用了SPF,DKIM和DMARC
  • 我的SPFlogging似乎在语义上是正确的(在这里检查: http : //www.kitterman.com/spf/validate.html )
  • 我的SPF TXTlogging是:v = spf1 ip4:198.21.0.234包括:_spf.google.com包括:spf.mail.intercom.io -all
  • 198.21.0.234是我通过SendGrid发送的专用IP地址(mail.mysteryscience.com是我的CNAME转发给他们)

我启用了DMARC,并且正在审阅从各种邮件服务器获得的电子邮件。 当从Google.com上查看我的结果时,我注意到一堆SPF和DKIM失败。 它看起来像这些可能是拒绝我发送的合法电子邮件,但我不知道如何阅读此文件。 以下是一些结果,请注意一些<dkim>和<spf>行中的“失败”。 这里是一个dmarcian处理版本的XML文件: https ://dmarcian.com/dmarc-xml/details/Ybk591jex3JpVBmW/

<record> <row> <source_ip>207.46.163.143</source_ip> <count>1</count> <policy_evaluated> <disposition>none</disposition> <dkim>pass</dkim> <spf>fail</spf> </policy_evaluated> </row> <identifiers> <header_from>mysteryscience.com</header_from> </identifiers> <auth_results> <dkim> <domain>mysteryscience.com</domain> <result>pass</result> </dkim> <spf> <domain>granderie.ca</domain> <result>pass</result> </spf> </auth_results> </record> <record> <row> <source_ip>209.85.212.178</source_ip> <count>1</count> <policy_evaluated> <disposition>none</disposition> <dkim>fail</dkim> <spf>pass</spf> </policy_evaluated> </row> <identifiers> <header_from>mysteryscience.com</header_from> </identifiers> <auth_results> <spf> <domain>mysteryscience.com</domain> <result>pass</result> </spf> </auth_results> </record> <record> <row> <source_ip>2607:f8b0:4001:c05::232</source_ip> <count>1</count> <policy_evaluated> <disposition>none</disposition> <dkim>pass</dkim> <spf>fail</spf> </policy_evaluated> </row> <identifiers> <header_from>mysteryscience.com</header_from> </identifiers> <auth_results> <dkim> <domain>mysteryscience.com</domain> <result>pass</result> </dkim> <spf> <domain>mail.mysteryscience.com</domain> <result>fail</result> </spf> </auth_results> </record> <record> <row> <source_ip>198.236.20.44</source_ip> <count>1</count> <policy_evaluated> <disposition>none</disposition> <dkim>pass</dkim> <spf>fail</spf> </policy_evaluated> </row> <identifiers> <header_from>mysteryscience.com</header_from> </identifiers> <auth_results> <dkim> <domain>mysteryscience.com</domain> <result>pass</result> </dkim> <spf> <domain>mail.mysteryscience.com</domain> <result>fail</result> </spf> </auth_results> </record> <record> <row> <source_ip>209.85.212.175</source_ip> <count>1</count> <policy_evaluated> <disposition>none</disposition> <dkim>fail</dkim> <spf>pass</spf> </policy_evaluated> </row> <identifiers> <header_from>mysteryscience.com</header_from> </identifiers> <auth_results> <spf> <domain>mysteryscience.com</domain> <result>pass</result> </spf> </auth_results> </record> <record> <row> <source_ip>209.85.215.44</source_ip> <count>1</count> <policy_evaluated> <disposition>none</disposition> <dkim>fail</dkim> <spf>fail</spf> </policy_evaluated> </row> <identifiers> <header_from>mysteryscience.com</header_from> </identifiers> <auth_results> <spf> <domain>nurturingwisdom.com</domain> <result>fail</result> </spf> </auth_results> </record> <record> <row> <source_ip>2607:f8b0:4003:c06::236</source_ip> <count>2</count> <policy_evaluated> <disposition>none</disposition> <dkim>pass</dkim> <spf>fail</spf> </policy_evaluated> </row> <identifiers> <header_from>mysteryscience.com</header_from> </identifiers> <auth_results> <dkim> <domain>mysteryscience.com</domain> <result>pass</result> </dkim> <spf> <domain>ssanpete.org</domain> <result>none</result> </spf> </auth_results> 

任何人都可以帮助我确定这些SPF和DKIM失败是否有问题?

我在你提供的结果上运行了一些像spfquery --mfrom mail.mysteryscience.com -ip 2607:f8b0:4001:c05::232这样的查询。 看来您还没有为mail.mysteryscience.comconfigurationSPF,以允许Google为该域提供电子邮件。 这解释了Google提供的SPF失败。 上面的查询是基于logging中列出的域。

有一些logging似乎是垃圾邮件,所以他们应该在列表中。

您可能遇到类似的电子邮件没有适当的DKIM签名的问题。 有些可能是垃圾邮件,或者您可能拥有不符合电子邮件签名预期的传递path。

  1. parsing你的DMARC XML的地方像dmarcian,所以你的信息是人类可读的
  2. 谷歌出站网关去哪里? 你有一个网关configuration? 如果没有,没有什么可以改变的。
  3. DKIM正在失败,您是否在没有发布公钥的情况下签署您的电子邮件? 检查你的DNS。
  4. 只有当邮件服务器接受邮件并发送NDR时,才需要SPFlogging子域名。 典型的子域logging是:

mail.example.com. IN A 93.184.216.34

mail.example.com. IN TXT "v=spf1 a -all"

DMARClogging只能用于从SINGLE域发送的电子邮件地址。 如果您有任何别名设置或备用发送地址从DMARClogging中的域以外的其他域发送,这将导致重大的垃圾邮件问题,将很难排除故障。

如果你认为在发送域中会有交叉,那么最好不要启用DMARC。 DKIM和SPF是你的主要盟友。 DMARC只能用于非常具体的情况下,在这种情况下,您将非常了解将要发生的发送行为以及DMARClogging如何影响该行为。