iT邦幫忙

0

解決!... [Postfix] dkim 問題?

請教大大:
我用 Thunderbird 寄至 gmail 檢查郵件原始檔 DKIM 是 PASS;
而同事 outlook 寄至 gmail 所得到 DKIM 是 FAIL
都是透過相同 mail server 寄出. 請問?這要如何解決?
DKIM-Filter: OpenDKIM Filter v2.11.0

據網上查得訊息:
手動添加 Message-Id(請注意不是Message-ID)標頭,然後連接並發送電子郵件。

cPanel WHM添加了一個 Message-ID標頭,並重新排列了DKIM簽名中的“ h”記錄,
這使該記錄無效,從而導致收件人郵箱中出現 DKIM:fail。

但我不知所謂 "手動添加 Message-Id" 作法? 敬請有經驗網友能指導?
謝謝.

gmail head 如下:
--> faild (outlook 寄出)
Received: from tej9806.tej.com.tw (tej9806.tej.com.tw. [59.124.45.131])
        by mx.google.com with ESMTPS id i8si5575615pgb.416.2021.04.15.22.34.58
        (version=TLS1 cipher=AES128-SHA bits=128/128);
        Thu, 15 Apr 2021 22:34:59 -0700 (PDT)
Received-SPF: pass (google.com: domain of ????@tej.com.tw designates 59.124.45.131 as permitted sender) client-ip=59.124.45.131;
Authentication-Results: mx.google.com;
       dkim=neutral (body hash did not verify) header.i=@tej.com.tw header.s=default header.b="fkB/2Wgl";
       dkim=neutral (body hash did not verify) header.i=@tej.com.tw header.s=default header.b=Vd3lohgF;
       spf=pass (google.com: domain of ?????@tej.com.tw designates 59.124.45.131 as permitted sender) smtp.mailfrom=????@tej.com.tw;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tej.com.tw

--> ok (Thunderbird 寄出)
Received: from tej9806.tej.com.tw (tej9806.tej.com.tw. [59.124.45.131])
        by mx.google.com with ESMTPS id s1si4703766pgk.72.2021.04.15.21.28.33
        for <????@gmail.com>
        (version=TLS1 cipher=AES128-SHA bits=128/128);
        Thu, 15 Apr 2021 21:28:34 -0700 (PDT)
Received-SPF: pass (google.com: domain of ????@tej.com.tw designates 59.124.45.131 as permitted sender) client-ip=59.124.45.131;
Authentication-Results: mx.google.com;
       dkim=pass header.i=@tej.com.tw header.s=default header.b=H2LzlhLT;
       dkim=neutral (body hash did not verify) header.i=@tej.com.tw header.s=default header.b=FmGeL7v8;
       spf=pass (google.com: domain of ????@tej.com.tw designates 59.124.45.131 as permitted sender) smtp.mailfrom=????@tej.com.tw;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tej.com.tw
Received: by tej9806.tej.com.tw (Postfix, from userid 105) id AD29865240C; Fri, 16 Apr 2021 12:28:29 +0800 (CST)

謝謝

kuang001 iT邦新手 4 級 ‧ 2021-04-18 08:03:08 檢舉
終於解決透過 outlook 寄出 DKIM 會 Faild 方法.
透過大陸網站得知 method(s) 意義如下:
一些簽名的具體細節:
1、算法,必須支持rsa-sha256,可選支持rsa-sha1。key size建議1024。
標準化(Canonicalization).有的郵件服務器可能會少量修改文件內容,比如換行或者移除一些空格等等。
因此DKIM定義了兩種

2、標準化方法,simple和relaxed。
simple最簡單,就是一個字節也不能改,改了就錯。
relaxed就是可以少量的修改一些空格等等。郵件頭和內容這兩部分的標準化
可以選擇不同的方法,表示起來用/隔開,比如 simple/relaxed 表示頭部用 simple方式,內容用 relaxed方式來標準化。

3、過程,簽名是先對內容(body)部分hash,然後把這個body hash放在header裡面,再對頭部做簽名。頭部也不是所有字段都簽名的,只有一些常用的字段,或者比較有意義的,會被簽名。像Received和Return-Path這樣的字段一般不被簽名。而From則必須被簽名。
————————————————
原文連接:https://blog.csdn.net/JavaReact/article/details/84648287

所以最後將 /etc/opendkim.conf 內 [Canonicalization ]參數改為
## Selects the canonicalization method(s) to be used when signing messages.
Canonicalization simple/relaxed

就解決所有問題!
提供大家做參考.
kuang001 iT邦新手 4 級 ‧ 2021-04-18 08:05:02 檢舉
刪除! 重覆發信

尚未有邦友回答

立即登入回答