排解 DKIM 問題

如果從您網域寄出的郵件有以下情況,請執行本文的疑難排解步驟:

  • 未通過 DKIM 驗證
  • 遭到收件伺服器拒絕
  • 傳送至收件者的垃圾郵件資料夾

按照本文中的步驟操作,可以找出並解決許多 DKIM 問題。

本頁內容

確認 DKIM 設定正確無誤

按照「設定 DKIM」中的步驟,確認 DKIM 設定正確無誤。

確認郵件通過 DKIM 驗證

您可以查看電子郵件中的郵件標頭,瞭解從您網域寄出的郵件是否通過 DKIM 驗證檢查。

建議步驟:

  • 查看從您網域寄出的郵件標頭,確認郵件是否通過 DKIM 驗證。
  • 如果郵件未通過 DKIM 驗證,請嘗試將郵件傳送給其他收件者 (例如個人 Gmail 地址),這有助於排除收件伺服器的問題。
  • 在 Gmail 郵件中按一下「顯示原始郵件」,查看原始郵件中的 DKIM 狀態。進一步瞭解如何在 Gmail 中查看郵件標頭
  • 在 Google Admin Toolbox 的 Messageheader 工具中輸入郵件標頭,然後查看 DKIM 狀態。

另請參閱「檢查 Gmail 郵件是否通過驗證」。

前往網域供應商網站,確認 DKIM 金鑰正確無誤

大多數 DKIM TXT 記錄的長度上限為 255 個字元;TXT 記錄上限為 255 個字元,因此您無法以單一文字字串的形式輸入 2048 位元的金鑰。否則,您的 DKIM 金鑰可能會遭到截斷,或造成 DKIM 記錄的傳送順序出錯。

建議步驟:

  • 如果無法以單一文字字串的形式輸入完整的 DKIM TXT 記錄值,請按照「確認網域供應商的 TXT 記錄字元限制」一文的步驟操作。
  • 將供應商網站的 DKIM TXT 記錄值與管理控制台中的值相互比較,確認 DKIM 金鑰正確無誤:
    1. 從管理控制台取得 DKIM TXT 記錄值,例如 google._domainkey
    2. 前往 Google Admin Toolbox Dig 工具。
    3. 按一下「TXT」TXT
    4. 輸入從步驟 1 取得的 DKIM TXT 記錄值,然後在這個值中加入半形句號 (.) 和網域名稱。
    5. 比較此結果和管理控制台中的值。如果其中涵蓋所有金鑰字元且順序正確無誤,則 DKIM 金鑰可以分成 2 個部分。

檢查郵件轉寄情況

即使網域的 DKIM 設定正確無誤,轉寄郵件仍可能無法通過 DKIM 檢查,這有可能是受到郵件伺服器轉寄郵件的方式影響。

適用於電子郵件寄件者的建議步驟:

  • 確認郵件在傳輸過程中並未遭到變更。找到「Authentication-results:」標頭。如果 dkim 項目旁邊的文字是「body hash did not verify」,即表示郵件已在傳輸過程中遭到修改。
  • 如果您使用外送閘道,請在郵件傳送前確認閘道並未修改任何外寄郵件。舉例來說,某些外送閘道會在每封外寄郵件的底部加上註腳,這會導致 DKIM 驗證失敗,因為郵件在傳送後內容有所變更。

適用於電子郵件收件者的建議步驟:

  • 使用電子郵件記錄搜尋功能確認郵件是否已轉寄。如果將郵件回報為垃圾郵件的使用者並非原始收件者,表示郵件可能已經轉寄。
  • 與轉寄郵件的服務團隊聯絡,瞭解對方是否可以變更轉寄郵件的方式。

另請參閱「轉寄電子郵件至 Gmail 的最佳做法」。

確認網域供應商的 TXT 記錄字元限制

如果您在輸入 DKIM 值時收到錯誤訊息,表示您的網域供應商可能對 DNS TXT 記錄中的字元數設有限制。

建議步驟:

如果您使用的是 2048 位元 DKIM 金鑰,就無法在長度上限為 255 個字元的 DNS 記錄中,以單一文字字串的形式輸入該金鑰,請改為進行下列步驟:

  1. 將金鑰字元分成多個文字字串。
  2. 在每個字串前後加上引號。
  3. 在網域供應商網站的「TXT record Value」欄位中逐一輸入字串。

舉例來說,您可以將較長的 DKIM 金鑰分成兩組文字字串,並在各字串前後加上引號:

你也可以嘗試下列做法:

  • 使用 1024 位元金鑰,方法是產生 DKIM 金鑰組時選取相應選項。
  • 與您的網域代管商聯絡,詢問對方是否支援長度超過 255 個字元的 TXT 記錄。如果可以支援,請按照「產生 DKIM 金鑰組」中的步驟,使用 2048 位元的 DKIM 金鑰更新 DNS 記錄。

建議您在網域供應商網站新增最多 49 筆 TXT 記錄,因為此為大多數網域供應商支援的 TXT 記錄數量上限。

檢查 DKIM 簽名數量

郵件可用多個 DKIM 簽名簽署。不過,Gmail 只會檢查 Authentication-Results: 郵件標頭中列出的前 5 個簽名。Gmail 會依標頭中顯示的簽名順序執行檢查。如果驗證的簽名不是標頭列出的前 5 個簽名,郵件就無法通過 DKIM 驗證。這也可能導致郵件無法通過 DMARC 檢查。

如要確認 Gmail 會檢查哪些郵件簽名,請查看郵件中的 Authentication-Results: 標頭。如要進一步瞭解如何查看 Gmail 郵件標頭,請參閱「利用完整標頭追蹤電子郵件」。

檢查電子郵件傳送方式

如果 DKIM 設定正確,但系統將郵件歸類為垃圾郵件,這可能是 DKIM 以外的原因所導致。

建議步驟:

  • 請務必按照建議指南傳送電子郵件給 Gmail 使用者,尤其是傳送大量電子郵件時,更應該如此。

找出拒絕 DKIM 簽署郵件的伺服器並聯絡其管理員

即使 DKIM 設定正確,收件伺服器仍可能會拒絕從您網域寄出的郵件,或將郵件傳送至收件者的垃圾郵件資料夾。

建議步驟:

  • 找出拒絕電子郵件的伺服器並聯絡其管理員。
  • 設定 DMARC,接收 DKIM 驗證結果報告。請參閱「設定 DMARC」一文。
  • 如果您是透過 Google Workspace 以外的電子郵件系統設定 DKIM,請勿在外寄郵件中使用 DKIM 長度標記 (l=)。使用這個標記的郵件可能會遭到濫用。詳情請參閱 RFC 6376 的第 8.2 節


Google、Google Workspace 和其他相關符號及標誌均為 Google LLC 的商標。所有其他公司和產品名稱則是與個別公司關聯的商標。