我在我的 VPS 上使用 Mail Enable,並將產生的 DKIM(請參閱螢幕截圖 1)複製到我的 DNS。 (是的,我已經重新啟動了 VPS):
現在我的 DNS 設定是在託管公司 A 上配置的,並指向我在公司 B 託管的 VPS:
現在奇怪的是,當我嘗試檢查 DKIM 有效性時,dmarcanalyzer.com 說它不正確,而 mxtoolbox.com 顯示它是正確的。
我從 Google(和其他電子郵件服務提供者)獲得的 DKIM 報告顯示了fail
dkim 節點。請參閱此處的完整報告:
我透過以下方式發送電子郵件localhost
(並且更願意繼續這樣做),但我也想知道localhost
特定網域的 DKIM 是否可能發生衝突並導致此問題。
我已經與託管公司 A 聯繫,他們表示 DNS 設定是正確的,並且一切都已配置並按預期工作。我現在不知道還能在哪裡配置我的 DKIM 設定。
附:我也在這裡檢查過:
更新1
透過 mail-tester.com,我得到您郵件的 DKIM 簽名是:
v=1;
c=relaxed/relaxed;
h=mime-version:from:date:message-id:subject:to:content-type;
d=example.com;
s=default.domainkey;
a=rsa-sha256;
bh=9GbEYuoERz+rKK0duec8ZYNDPzF429KQdM3YJavh32U=;
b=YQxDCBHCx1n1aLE0uVyOb2QsT2wOnkFqziZcyZtdNsGtMwz2y7ItPpB1MMkL5VZJl8Jgtszh9DomKhBPQ50WwAmIi/ayrR8hq61h0I2zdBNOs9A2bTYSBd/H11iTXGOuc8FFS3GHj+ohh3E+r+V6gvi4NF5shQ041OEdeZNUigUDRRr0eRDUnrK2/jq5ERWNDcg3MCDZI7Kcgj75BDJKfxBioVesKTV3/iLLuoBiDdVRdjqdAQC0Izc7KXweYab0wAiWvsCKvzBAyh0ieYFYHR4Wy3RAsKNUAwJkOJLF2IzvIBJaeIU8KVqJHONJ+IV40l13EsMZQUINZhJG9hvbbw==;
更新2
根據下面 @anx 的建議,我產生了一個新金鑰rsa2021
並將其新增至我的 DNS 中:
"v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAum44LLMyisKD6mOwTaXQqNjYsI6bNBS4uzhA03RaifyRDmmIKUPNv1bGb3QGihdDFzKbL+aax6o3INZSFcf1o5rKr8+3a2gAf+p2daNlycFQFmsWK94h4Vtu6j0VZ5E7bElFI0NQ/MYBOVwUST6H5DOsygGK9uWm8zVSBk8QtknZlLCPJYjHYc8V3dejnYcNIjBDtPKCB20E0q0pzIm63Dn8Z78J9wSvsSGl4FLN/3Tr96RLxwhqu+tFN04OVpdmlKnM7IQ3pGFMSEXqUoucndPUqzaNgT/u8GtowBoz72UgpDzuxkiehvg7PK/FPC6Vj/jTwe9d3oj/ZMN2ujMWYQIDAQAB;"
然後我透過發送電子郵件smtp.example.com
,然後在此處查看:http://isnotspam.com
我仍然看到 DKIM 失敗:
* 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
X-Spam-Status: Yes, hits=6.4 required=-20.0 tests=BAYES_99,BAYES_999,
DKIM_SIGNED,HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY,MISSING_SUBJECT,
SPF_PASS,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0
Envelope-to: [email protected]
Delivery-date: Fri, 13 Aug 2021 09:07:46 +0000
Received: from vpsnr12.myisp.com ([12.12.12.12] helo=mail.domainA.com)
by localhost.localdomain with esmtp (Exim 4.84_2)
(envelope-from <[email protected]>)
答案1
您的 DKIM 選擇器很奇怪。
d=example.com; s=default.domainkey;
儘管這是完全有效的..
選擇器中允許使用句點,句點是組件分隔符號。 [..] 在 DNS 實作中,這可用於允許選擇器命名空間的一部分的委派。
.. 因為DKIM 金鑰儲存在名為「_domainkey」的子網域中有選擇器是不尋常的也包含“域密鑰”。如果你真的想要它作為選擇器,你可以把鑰匙放在default.domainkey._domainkey.example.com
- 我一開始沒有註意到,因為我在以下位置確認了密鑰default._domainkey.example.com
。
推薦:去除額外的 domainkey
從兩個這樣的標籤。如果打算利用它與 DNS 上下文中點的含義的互動方式,請僅在選擇器中使用句點,否則它只是不必要的混亂來源。
使用實際編碼的名稱配置金鑰,以幫助記住該金鑰是什麼或在以後的某個時候:曾是(這是我推薦諸如此類的主要原因rsa2021
超過default
)。根據郵件伺服器的配置方式,您可能需要刪除放錯位置的金鑰並產生一個新金鑰,這次從一開始就設定一個名稱 - 這是為了避免在配置中出現其他不匹配情況。