的Gmail以及當地的ISP通過DKIM的進出口郵件,但微軟並沒有與失敗在標題指出:進出口的DKIM簽名不驗證的Microsoft服務器(如Outlook,Hotmail等)*僅*
身份驗證結果:spf = pass(發件人IP是[正確的IP]) smtp.mailfrom = [correct domain] .co.uk; outlook.com; dkim =失敗(簽名確實 未驗證) header.d = [正確的域名]; outlook.com; dmarc = bestguesspass action = none header.from = [正確的域名];
我曾嘗試:
我發了封郵件到Outlook來自同一個域通過谷歌企業應用套件(G套房)電子郵件(使用不同的DKIM選擇,在另一個DNS TXT記錄即另一個公鑰)比較消息來源 - Google的消息通過了DKIM。
我注意到兩兩件事:
谷歌收錄在「H」標記少得多的頭,讓我重新進出口也使用正是這些,但無濟於事。
Google在「h」標籤中包含了小寫的標題名稱,而Exim不包括,即使我在Exim的配置中以小寫字母輸入它們。我讀到生成標頭簽名散列時標題名稱應該是小寫字母,但文本沒有聲明這同樣適用於「h」標籤中的標頭名稱(http://dkimcore.org/specification.html第3.2節),但Google似乎做了這個。我想在Exim中重寫這個會很難嗎?
我還注意到,除了在「H」的差異,DKIM簽名頭結構是完全一樣都禁止一些空白的差異(參考Exim一個也只有分號分隔後的空間和新線路,所以它看起來很好,它只是以不同方式分解)。起初我以爲Exim可能沒有設置一些必要的標籤,但在這種情況下,錯誤應該是不同的。
進出口版本:4.87 運行在的cPanel 11的CentOS 7.2服務器 進出口DKIM配置:
dkim_remote_smtp:
driver = smtp
interface = <; ${if exists {/etc/mailips}{${lookup{${lc:$sender_address_domain}}lsearch{/etc/maili
ps}{$value}{${lookup{${lc:$sender_address_domain}}lsearch{/etc/mailips}{$value}{${lookup{${perl{get_
sender_from_uid}}}lsearch*{/etc/mailips}{$value}{}}}}}}}}
helo_data = ${if exists {/etc/mailhelo}{${lookup{${lc:$sender_address_domain}}lsearch{/etc/mailhel
o}{$value}{${lookup{${lc:$sender_address_domain}}lsearch{/etc/mailhelo}{$value}{${lookup{${perl{get_
sender_from_uid}}}lsearch*{/etc/mailhelo}{$value}{$primary_hostname}}}}}}}{$primary_hostname}}
dkim_domain = ${lc:$sender_address_domain}
dkim_selector = default
dkim_private_key = "/var/cpanel/domain_keys/private/${dkim_domain}"
dkim_canon = relaxed
dkim_sign_headers = to:from:subject:message-id:date:user-agent:mime-version:content-transfer-encoding
(被我添加的最後一行 - 它以前沒工作,要麼)
由於它似乎錯誤具體涉及到簽名驗證,我不認爲以下是相關的,但無論如何我都包括它:
Exim電子郵件由服務器上沒有人先生髮送,但enve lope-from和Return-Path標題是預期發件人的正確電子郵件地址。這個領域不應該有任何問題,因爲即使是MS,SPF也會通過。
雖然從谷歌發送的電子郵件具有
郵件ID:< [ID] @ [發送方的域]>
的電子郵件通過進出口發送具有
Message ID:< [id] @ [server host name]>
任何幫助/想法將不勝感激。一如既往的MS讓生活困難......有趣?
感謝分享:) – Henry
嗨!解決方案是在Exim配置文件中添加下一個字符串? 'dkim_sign_headers = to:from:subject:message-id:date:user-agent:mime-version:content-transfer-encoding' – NetVicious