DebianWheezyに接尾辞付きのopendkimをインストールしました。送信メールはDKIM署名を取得しています。 smtpdと非smtpdmilterの仕様は同じです。
着信メールは検証されていないようです-メールクライアントにはAuthentication-Resultsヘッダーがありません。 opendkim構成に「AlwaysAddARHeaderyes」を追加しましたが、違いはありません。
メールログには、メッセージを受信すると、opendkimによるさまざまなエントリすべての中に2つあります。 1つ目はサーバーを識別し、「内部ではない」を追加します(これは、Googleの場合は妥当と思われます)。 2番目は「認証されていません」とだけ言っています。しかし、認証されない理由はわかりません!どこで解決策を探すことができますか?
コンテンツフィルタの宛先の,no_milters
オプションにより、コンテンツフィルタの前後でmilterが2回実行されないように見えます。
,no_milters
オプションを削除できます。結果は次のとおりです。
,no_milters
オプションを取り戻した場合でも、opendkimはメールに署名できますが、確認する機能は失われます。 amavisを少しいじくり回すと、amavisがopendkimと同じIDを使用することがわかりました。これは、両方が準拠している標準があるため、驚くことではありません。 amavisは、検証後に追加されたヘッダーopendkimを(実際にはまだメッセージを検証します)空のヘッダーに置き換えるため、opendkimはメッセージを検証しないように見えます。
したがって、このヘッダーが消えないようにする方法は2つあります。
ミルターがアマビスの前に走るのを防ぎ、後に走らせる方法を見つけることができませんでした。ただし、50ユーザーの構成ファイルの終わり近くで$myauthservid = "amavis.local";
を再定義することにより、amavisがそのヘッダーを書き換えるのを防ぐことができます。少なくともそれが私が自分でこれを解決した方法です。
「認証されていない」というのは、リモートメールサーバーがメッセージに署名していないからかもしれません。誰もがDKIMでメールに署名しているわけではありません。実際、このメカニズムは、本来あるべきほど広く実装されていません。そうは言っても、DKIMを使用すると、メールの配信可能性が大幅に向上しますが、組織にメールを送信するすべての人がDKIMを使用することを期待しないでください。 DKIM私の謙虚な意見ではゆっくりと成長しています。
これは興味深いと思うかもしれません DKIM展開トレンド実験。
また、リモートサーバーがメッセージに署名していて、メールサーバーがそれを無視していることが確実な場合は、ここで 既知のバグを確認することをお勧めします。