Email Spam Tester

免費工具

DKIM 記錄檢查工具

輸入網域和 selector,從 DNS 取得 DKIM 公開金鑰,檢查是否能正確解析、金鑰強度,以及是否已撤銷或處於測試模式。

如何找到 selector?

開啟您寄出郵件的標頭,找到 DKIM-Signature 標頭。selector 是 s= 的值,d= 則是網域。常見預設值:Google Workspace 使用 google,Microsoft 365 使用 selector1 和 selector2,Mailchimp 使用 k1,SendGrid 使用 s1 和 s2。

這項檢查會驗證 DNS 中發布的公開金鑰。它無法判斷特定郵件是否已簽署,也無法確認其簽章是否通過驗證。如需檢查,請將郵件寄送至完整測試。

DKIM 如何找到金鑰

郵件中的 DKIM 簽章會指定網域(d=)和 selector(s=)。接收端將兩者組合成 selector._domainkey.domain,讀取該處的 TXT 記錄,並使用其 p= 標籤中的公開金鑰驗證簽章。一個網域可以發布任意數量的 selector,因此每個寄信服務都能使用自己的金鑰,也能在不中斷服務的情況下輪替金鑰。

檢查工具需要 selector,因為 DNS 無法列出網域擁有的 selector。沒有任何內容可供掃描,selector 必須取自實際郵件的簽章。

哪些情況會讓金鑰不安全或失效

RFC 8301 規定 RSA 金鑰必須至少為 1024 位元,並建議使用 2048 位元。驗證器可以忽略更短的金鑰,我們的驗證器也會這麼做,因此 512 位元金鑰會視同完全沒有簽章。Ed25519 金鑰依設計本來就較短且安全性高,但目前並非所有收件端都會驗證,因此通常會與 RSA 金鑰一起發布,而不是取代 RSA 金鑰。

此檢查工具會完整解碼金鑰,因為若記錄在多個 TXT 字串之間切割錯誤,或 base64 無法解碼,任何收件端都無法使用該金鑰。空白的 p= 表示金鑰已被刻意撤銷。t=y 表示網域仍在測試,RFC 6376 §3.6.1 指示驗證器將其郵件視同未簽章郵件處理。

改用真實郵件進行測試

這些工具會讀取 DNS。完整測試會讀取郵件本身:寄送一封郵件到一次性地址,即可取得收件端評估的 SPF、DKIM 和 DMARC 結果,以及黑名單、內容、兩種垃圾郵件評分和修正方案。加入收件匣位置測試,查看郵件會進入 Gmail、Outlook、Yahoo 和其他服務供應商的哪個資料夾。

測試您的郵件查看報告範例

常見問題

如何找到 DKIM Selector,並確認是否已啟用 DKIM?

寄一封郵件給自己,然後開啟收到郵件的標頭。若其中有 DKIM-Signature 標頭,表示郵件已簽署,Selector 是 s= 的值,網域是 d=。若沒有此標頭,表示你使用的寄送服務未簽署郵件。每個寄送服務都使用自己的 Selector,因此電子報和信箱寄出的郵件可能會使用不同的 Selector。

金鑰沒有問題,但 DKIM 因「body hash did not verify」而驗證失敗,原因是什麼?

通常是郵件在簽章後遭到修改,例如郵件群組加入頁尾,或安全閘道重寫連結。金鑰只能確認簽章當時的內容。完整測試會顯示你的郵件實際驗證結果。

完整指南: DKIM fail

DKIM 金鑰長度應使用 1024 還是 2048 位元?

1024 位元金鑰可在所有服務上通過驗證,RFC 8301 也允許使用。不過,這仍是最低要求,因此下次輪替金鑰時應改用 2048 位元。

一個網域可以有多筆 DKIM 記錄嗎?

可以,每個 Selector 對應一筆記錄,許多網域都有多筆記錄,例如信箱服務供應商使用一筆,每個電子報或帳務服務也各自使用一筆。請逐筆檢查。若金鑰已從 DNS 刪除,所有仍使用該金鑰簽署的郵件都會驗證失敗。

DKIM 金鑰應多久輪替一次?

M3AAWG 建議至少每六個月輪替一次,若私密金鑰可能已外洩,則應立即輪替。請使用新的 Selector 發布新金鑰,將簽署切換至新金鑰,並在使用舊金鑰簽署的郵件不再送達後,才刪除舊記錄。寄件者會在四到五天內重試,因此應保留約一週。

常見錯誤

其他免費工具