排解 DKIM 問題

如果您已設定 DomainKeys Identified Mail (DKIM),但從您網域寄出的郵件仍有以下情況,請執行本文的疑難排解步驟:

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

本頁內容

最常見的解決方案

確認您有 DKIM 記錄

查看您是否擁有 DKIM 記錄:

  • 如果您使用 Google Workspace,請使用網路上的工具。
  • 如果您使用 Google Workspace,請按照本節中的步驟操作。
  1. 在 Google 管理控制台中,依序前往「選單」 接下來 「應用程式」 接下來「Google Workspace」 接下來「Gmail」

    必須具備 Gmail 設定管理員權限

  2. 按一下 [驗證電子郵件]。
  3. 在「所選網域」選單中,選取要設定 DKIM 的網域。
  4. 如果 DNS 主機名稱和 TXT 記錄值空白,表示您沒有 DKIM 記錄。

如要建立新的 DKIM 記錄,請參閱「產生 DKIM 金鑰組」。然後前往本頁的「將 DKIM 記錄新增至網域」。

在網域中新增 DKIM 記錄

建立 DKIM 記錄後,您必須將記錄 (內含 DKIM 金鑰) 新增至網域。

  1. 登入網域代管商網站。
  2. 前往可更新網域 DNS TXT 記錄的頁面。
  3. 使用 DKIM 主機名稱和建議值,新增或更新 TXT 記錄。

請參閱「將 DKIM 金鑰新增至網域」。

修正驗證錯誤

建立 DKIM 記錄並新增至網域後,如果收到「未驗證」錯誤訊息,請完成設定。

建議步驟:前往「驗證電子郵件」頁面,然後按一下「開始驗證」。請參閱「開啟並驗證 DKIM」一文。

驗證 DKIM 記錄值

請確認 DKIM 記錄包含正確的主機名稱/TXT 記錄名稱和 TXT 記錄值/DKIM 金鑰。請參閱「將 DKIM 金鑰新增至網域」。

成功的混合辦公有哪些要素?

建立 DKIM 記錄後,請將該記錄新增至網域、修正所有驗證錯誤,並確認 DKIM 記錄的值正確無誤。此時,DKIM 狀態應會顯示「正在使用 DKIM 驗證電子郵件」。設定完成。

進階疑難排解

確認郵件通過 DKIM 驗證

您可以在 Gmail 中查看電子郵件是否通過 DKIM 驗證。

建議步驟:

  1. 透過瀏覽器開啟 Gmail
  2. 開啟要查看標頭的電子郵件。
  3. 依序按一下「回覆」圖示 旁的「更多」圖示 接下來「顯示原始郵件」
    • 新視窗會顯示完整標頭。
  4. 按一下「複製到剪貼簿」

其他步驟:

前往網域供應商網站驗證 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]
    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 記錄 Value」欄位中逐一輸入字串。

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

"k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAraC3pqvqTkAfXhUn7Kn3JUNMwDkZ65ftwXH58anno/bElnTDAd/idk8kWpslrQIMsvVKAe+mvmBEnpXzJL+0LgTNVTQctUujyilWvcONRd/z37I34y6WUIbFn4ytkzkdoVmeTt32f5LxegfYP4P/"

"w7QGN1mOcnE2Qd5SKIZv3Ia1p9d6uCaVGI8brE/7zM5c/zMthVPE2WZKA28+QomQDH7ludLGhXGxpc7kZZCoB5lQiP0o07Ful33fcED73BS9Bt1SNhnrs5v7oq1pIab0LEtHsFHAZmGJDjybPA7OWWaV3L814r/JfU2NK1eNu9xYJwA8YW7WosL45CSkyp4QeQIDAQAB"

您也可以嘗試以下做法:

  • 使用 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 的商標。所有其他公司名稱和產品名稱則為相關公司的商標。