Debian

如何測試我的伺服器的 DKIM 配置(Postfix + OpenDKIM)?

  • May 15, 2017

我用 DKIM 配置了我的伺服器(Debian Jessie)和域。我在我的伺服器上安裝了 OpenDKIM,並按照本教程進行操作。我去了我的域提供商,並為以下內容設置了新的 DNS TXT 記錄mail._domainkey.example.com

"v=DKIM1; k=rsa; p=ThePublicKey"`

我從哪裡得到密鑰mail.txt,它是由命令生成的:

opendkim-genkey -s mail -d example.com

我確保 OpenDKIM 伺服器正在工作,並且 Postfix 正在對消息進行簽名。但是,我無法找到一種公正的方法來檢查從我的伺服器發送的電子郵件是否正確簽名。

通過Google搜尋,我找到了這個服務,它讓我向它發送電子郵件,並給我一份關於簽名是否正確的報告。但是,它一直說簽名在最終報告中無效:

SpamAssassin Score: 1.179
Message is NOT marked as spam
Points breakdown: 
0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was blocked.
                           See
                           http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                            for more information.
                           [URIs: example.com]
0.0 HTML_MESSAGE           BODY: HTML included in message
0.3 HTML_IMAGE_ONLY_04     BODY: HTML: images with 0-400 bytes of words
0.7 MPART_ALT_DIFF         BODY: HTML and text parts are different
0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily valid
0.0 TVD_SPACE_RATIO        No description available.
0.0 T_DKIM_INVALID         DKIM-Signature header exists but is not valid

儘管它在另一部分(在該報告上方的 DKIM 資訊中)說它是有效的。它準確地說:

Validating Signature

result = pass

mxtoolbox中,它沒有顯示我的 DNS 條目中有任何語法問題。它能夠毫無問題地解析公鑰。

我該怎麼做才能找到我的 DKIM 設置問題?

顯然我連結的站點上的測試有問題,所以,我找到了兩種方法來測試我的配置(SSL、SPF、DKIM 和 DMARC):

  1. 使用 gmail。只需在 gmail 中向您的某個帳戶發送電子郵件,然後檢查郵件的標題。Gmail 有一個部分顯示測試是否通過。
  2. 您可以使用port25。那裡有一個電子郵件地址。給它發送一封電子郵件,它會回復一個報告,表明您的配置是否正常。

試試這個DKIM 密鑰檢查器。它將查詢 DNS 區域並驗證伺服器和區域文件之間的密鑰對應關係。

另外,我建議不要在數字海洋中執行電子郵件伺服器,因為它毫無意義。如果您計劃在雲中執行郵件伺服器,我建議您在 EC2 實例上執行它。

引用自:https://serverfault.com/questions/849940