私は debian サーバーから sendmail を使ってメールを送信しています。genericstable によるマスカレードを使用して、複数のドメインでメールを送信できるようにしたいと考えています。メールに OpenDKIM で署名していますが、マスカレードが行われる前に OpenDKIM がメールに署名するため、キーが一致しません。
OpenDKIMはこの問題に対処していますREADMEページ
Milter プロトコルが MTA に組み込まれている方法により、opendkim は、これら 2 つの機能で必要な変更が行われる前にヘッダーを確認します。つまり、DKIM 署名は、MTA によって実際に送信されるヘッダーではなく、メール クライアントによって最初に挿入されたヘッダーに基づいて生成されます。その結果、署名されたデータと受信データが一致しないため、受信側の検証エージェントは署名を検証できなくなります。
この問題に対する提案された解決策は次のとおりです。
(1)必要に応じてヘッダーをすでに書き込んだ状態でメールを送信し、これらの機能の必要性を排除する(または単にオフにする)。
(2) 別々のボックスまたは同じボックスに 2 つの MTA を設定します。最初の MTA はすべての書き換え (つまり、これら 2 つの機能を使用) を実行し、2 番目の MTA は opendkim を使用して署名を追加し、書き換えは一切行いません。
(3) 設定ファイルに複数の DaemonPortOptions 行を設定します。最初のデーモン ポート (ポート 25) はヘッダーの書き換えを行い、メッセージを 2 番目のポートにルーティングします。2 番目のポートは書き換えは行いませんが、署名を行い、メッセージを送信します。
問題を解決するために 3 番目の解決策を使用したいのですが、どのように開始すればよいかわかりません。何らかの理由で、最初の解決策は使用したくないのです。
私のsendmail.mcファイルの現在のDeamonPortOptionsは
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea')dnl
README で提案されているように、sendmail で 1 つのポートをマスカレード用、もう 1 つのポートを DKIM の追加と送信用に使用するように設定することは可能ですか?
ご協力いただければ幸いです。
答え1
submit.mc
/構成にマスカレード機能と設定を追加することで、この問題を解決できましたsubmit.cf
。これにより、ローカル メール プログラム (MSP) は、MTA によって DKIM milter に送信される前に From: ヘッダーを変更します。
私は同じものMASQUERADE_AS
やMASQUERADE_DOMAIN
線を使いましたsendmail.mc