2015/06/19

OpenDKIM の評価は、ヘッダFrom(≠ envelope-From)に対して実施される

 SendMail + OpenDKIM の構築をしていて、検証作業でハマりました。

教訓:
OpenDKIM の評価は、ヘッダFrom(≠ envelope-From)に対して実施される

 設定が終わって、検証しようと telnet でポート 25 へ接続して手作業でメール送信したのですが、何故か全く署名されない。
 ???となりつつ、散々あっちを弄りこっちを弄りした後、ふと思い立って通常のローカルメーラから送信したところ…此は如何に、あっさり署名が付加されました。

 カラクリは恐らくこうかと。
 telnet にて手作業で送信した場合、明示的に記述しない限りヘッダ From は付加されません(まぁ当然です)。その場合、次の MTA へ配送される前に、MTA により envelope-From を使ってヘッダ From が補完されます。その為、通常は意識されません。
 しかし、OpenDKIM の処理(というか SendMail INPUT_MAIL_FILTER の処理)は、このヘッダ From が補完前におこなわれるようなのです。
 結果、空のヘッダ From が評価され、「署名対象外メール」と判定されていたのだと考えています。

 その後、ヘッダ From が補完され、そのメールが届いていたので「ちゃんと対象の From だよなぁ…」と気がつくのが遅れました。
 OpenDKIM の評価はヘッダ From に対して実施される(これもまぁ当然です)、と明示的に認識していれば、もう少し早く気がつくことができたと思うのですが…。
コメントを投稿