
我無法確定 SPF 和 DKIM 是否配置正確。以下是關鍵細節:
- 我的網域是mysteryscience.com
- 我們從 Google Apps、SendGrid 和 Intercom 發送郵件。一切似乎都正常,儘管我確實聽說過我們的電子郵件被標記為垃圾郵件的情況,這就是我正在調查此問題的原因。
- 我已啟用 SPF、DKIM 和 DMARC
- 我的 SPF 記錄在語義上似乎是正確的(在此處檢查:http://www.kitterman.com/spf/validate.html)
- 我的 SPF TXT 記錄是: v=spf1 ip4:198.21.0.234 include:_spf.google.com include:spf.mail.intercom.io -all
- 198.21.0.234 是我透過 SendGrid 發送的專用 IP 位址(mail.mysteryscience.com 是我轉寄給他們的 CNAME)
我已啟用 DMARC,並且正在查看從各個郵件伺服器收到的電子郵件。在查看 Google.com 的結果時,我注意到大量 SPF 和 DKIM 失敗了。看起來這些可能是我發送的合法電子郵件被拒絕,但我不知道如何閱讀這份文件。以下是一些結果,請注意一些 < dkim > 和 < spf > 行上的「失敗」。這是 XML 檔案的 dmarcian 處理版本: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 失敗是否有問題?
答案1
spfquery --mfrom mail.mysteryscience.com -ip 2607:f8b0:4001:c05::232
我對您提供的結果進行了一些查詢。您似乎尚未配置 SPF 以mail.mysteryscience.com
允許 google 為該網域傳送電子郵件。這解釋了 Google 交付時 SPF 失敗的原因。上面的查詢是基於記錄中列出的網域。
有些記錄確實看起來是垃圾郵件,因此它們應該在清單中。
您可能會遇到類似的問題,因為電子郵件沒有適當的 DKIM 簽名。有些可能是垃圾郵件,或者您的傳送路徑可能未使用預期簽名對電子郵件進行簽名。
答案2
- 在類似 dmarcian 的地方解析您的 DMARC XML,以便您的資訊是人類可讀的
- Google 出站網關去哪裡?您配置了網關嗎?如果不是的話,就沒有什麼可以改變的。
- DKIM 失敗,您是否在未發佈公鑰的情況下簽署電子郵件?檢查您的 DNS。
- 子網域的 SPF 記錄,僅當郵件伺服器接受電子郵件並傳送 NDR 時才需要此記錄。典型的子網域記錄是:
mail.example.com. IN A 93.184.216.34
mail.example.com. IN TXT "v=spf1 a -all"