使用 DNS 配置 DKIM 並在 VPS 上託管
我在我的 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: ins-b3zwrk2j@isnotspam.com 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 <info@example.com>)
你的 DKIM 選擇器很奇怪。
d=example.com;s=default.domainkey;
雖然這是完全有效的..
選擇器中允許使用句點,並且是組件分隔符。
$$ .. $$ 在 DNS 實現中,這可用於允許選擇器命名空間的一部分委託。
.. 因為DKIM 密鑰儲存在名為“_domainkey”的子域中,所以選擇器也包含“domainkey”是不常見的。如果你真的想把它作為選擇器,你可以把鍵放在
default.domainkey._domainkey.example.com
- 我一開始沒有註意到,因為我確認了鍵default._domainkey.example.com
。**建議:**從兩個這樣的標籤中去掉多餘的部分。
domainkey
如果打算利用它與 DNS 上下文中點的含義的互動方式,則僅在選擇器中使用句點,否則它只是不必要的混淆來源。使用實際編碼的名稱配置密鑰,以幫助記住此密鑰是什麼或稍後的某個時間點:是
rsa2021
(這是我推薦類似over 的主要原因default
)。根據您的郵件伺服器的配置方式,您可能希望刪除放錯位置的密鑰並生成一個新密鑰,這次從一開始就設置一個名稱 - 這是為了避免配置中的其他不匹配。