私のウェブホスティングサーバーは、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署名されないということです。