web-dev-qa-db-ja.com

システムから生成されたDKIM署名メールへのpostfixを設定します

私のウェブホスティングサーバーは、Postfixのセットアップと実行を特徴としています。そのpostfixは、許可されたユーザー(現在は私、私、私のみ)がDKIMで署名した後、任意のドメインに電子メールを送信できるように、ポート587のSTARTTLSでも開かれています。

Outlookを介して送信する、自分自身を認証するすべての電子メールは問題ありません。すべてのDMARCレポートはエラーを表示しません。問題は、WebアプリケーションがそのPostfixを介して電子メールを送信する場合です。

私はApacheのmod-itkをPHPホスティングに使用しているので、すべての電子メールは[email protected]によって生成され、標準的な手段(sendmail ???)を介してPostfixに送信されます。

しかし、そのように、それらはDKIM署名されていません。次のことを考慮してください。

$ mail [email protected]
Subject: Test DKIM
Hello
.
EOT

Port25は応答しました:

----------------------------------------------------------
DomainKeys check details:
----------------------------------------------------------
Result:         neutral (message not signed)
ID(s) verified: [email protected]
DNS record(s):

----------------------------------------------------------
DKIM check details:
----------------------------------------------------------
Result:         neutral (message not signed)
ID(s) verified: 

Postfixログはdkimproxyインタラクションを表示しません。

構成を投稿する前に、状況を繰り返して質問しましょう。

現在、ポート587でSMTP/TLSを介して電子メールを送信すると、DKIM署名が取得されます。サーバー上のプロセスがmailコマンドまたはPHP組み込みメール関数を使用して電子メールを送信する場合、メールは取得されませんdkimproxyによって署名されました。

問題は、サーバー自体から送信されるすべての電子メールにdkimproxyで署名する方法です。

設定は http://Pastebin.ca/237436 に貼り付けられます。現時点ではdkimproxy.outのみを有効にしていることに注意してください

DkimSIGNINGを送信ポートにのみ追加しました。

Postfixはsmtpをピックアップから個別に処理します(sendmailコマンドで送信されたメールはピックアップを介してpostfixに入ります)

接尾辞ではmain.cfでdkimmilterを使用する必要があります

smtpd_milters = inet:localhost:10027
non_smtpd_milters = inet:localhost:10027

最初の行はSMTP送信用です(ポート587)

2行目はピックアップ経由で入るメール用です

注意すべき点の1つは、postfixによって内部的に生成されたバウンスメッセージとNDRレポートはDKIM署名されないということです。

参照 http://www.postfix.org/MILTER_README.html

3
user102000