我從 Amazon Simple Email Service (Amazon SES) 傳送的電子郵件未通過網域型訊息驗證報告和一致性 (DMARC) 驗證,無法進行寄件者政策框架 (SPF) 對齊或網域金鑰識別郵件 (DKIM) 對齊。
簡短描述
對於 SPF 和 DKIM 對齊,您必須符合「嚴格對齊」或「寬鬆對齊」其中一種方式。
若要檢查 SPF 對齊,DMARC 可將郵件寄件者或信封寄件者網域與寄件者網域進行比對。嚴格對齊是指郵件寄件者或信封寄件者網域與寄件者網域完全相同。寬鬆對齊是指郵件寄件者或信封寄件者網域是寄件者網域的子網域。
若要檢查是否有 DKIM 對齊,DMARC 可比對 DKIM 簽章中的 d= 網域與寄件者網域。嚴格對齊是指 d= 網域與寄件者網域完全相同。寬鬆對齊是指 d= 網域是寄件者網域的子網域。
解決方法
在 DMARC 記錄中對 SPF 或 DKIM 使用寬鬆對齊
為了幫助您的電子郵件通過 DMARC 驗證,請使用寬鬆對齊。
若要判斷您網域的 SPF 和 DKIM 的 DMARC 對齊方式,請執行下列命令:
nslookup -type=TXT _dmarc.example.com
命令會傳回類似下列內容的 DMARC 記錄:
"v=DMARC1;p=quarantine;pct=25;rua=mailto:hello@example.com"
對於 SPF 驗證,如果記錄不包含 aspf 標籤或包含 aspf=r 字串,則您的網域是使用寬鬆對齊。上述範例不包含 aspf 標籤,因此範例網域是使用寬鬆對齊。如果記錄包含 aspf=s 字串,則您的網域是使用嚴格對齊。
對於 DKIM,如果記錄不含 adkim 標籤,或記錄包含字串 adkim=r,則您的網域是使用寬鬆對齊。如果記錄包含 adkim=s 字串,則您的網域是使用嚴格對齊。
只有系統管理員可以從嚴格對齊變更為寬鬆對齊。
透過 SPF 驗證來符合 DMARC 的要求
若要確保您的郵件透過 SPF 驗證來符合 DMARC 的要求,請確認下列組態:
- 郵件寄件者網域的 SPF 記錄必須包含 include:amazonses.com。
- 傳送郵件伺服器向接收郵件伺服器指定的郵件寄件者網域與郵件標頭中的寄件者位址相符。
當您使用 Amazon SES 傳送電子郵件時,郵件寄件者網域預設是 amazonses.com 的子網域。您的寄件者網域是您傳送電子郵件的網域。如果郵件寄件者網域與寄件者網域不符,則 SPF 對齊的 DMARC 驗證將失敗。
若要解決此問題,您必須在傳送電子郵件的已驗證身分上設定自訂郵件寄件者網域。自訂郵件寄件者網域始終是父網域的子網域。例如,如果您已驗證的網域 (寄件者網域) 是 example.com,則您可以將自訂郵件寄件者網域設定為 mail.example.com。
SPF 驗證會檢查郵件寄件者網域,因此請在 Amazon SES 中的自訂郵件寄件者子網域上新增 SPF 記錄。由於自訂郵件寄件者網域是子網域,因此您的子網域必須使用 寬鬆的 SPF 政策 (aspr=r)。
透過 DKIM 驗證來符合 DMARC 的要求
若要確保您的郵件透過 DKIM 驗證來符合 DMARC 的要求,請確認下列組態:
- 該訊息具有有效的 DKIM 簽章,並通過了 DKIM 檢查。
- 電子郵件標頭中的寄件者地址與 DKIM 簽章中的 d= 網域相符。
在 Amazon SES 中使用 Easy DKIM 時,您會收到三筆 CNAME 記錄。若要檢查其 DKIM 記錄,請在每個 CNAME 記錄上執行下列命令:
nslookup -type=CNAME example1._domainkey.example.com
**注意:**將 example1._domainkey.example.com 替換為您 CNAME 記錄的名稱。
命令會傳回 DKIM 記錄:
example1.dkim.amazonses.com.
最佳做法是使用 Easy DKIM,因為您可以透過 DKIM 滿足 DMARC 驗證要求。您也可以選擇手動簽署電子郵件,但 Amazon SES 不會驗證 DKIM 簽章。