とにかくSMTP認証が必要で、スクリプトをMDAとして機能させたい場合は、認証スキームを設定mailbox_command = /path/to/my/script
して構成するだけで実行できると思います。/etc/postfix/main.cf
実行している場合も、 SASL認証に関しては非常に構成可能な経由で認証dovecot
することをお勧めします。postfix
dovecot
アップデート
プレーンテキストのパスワードがネットワーク経由で送信されるため(このサービスがネットワークから到達可能であると想定)、暗号化された回線経由でのみ認証を許可することをお勧めします。これから説明する構成では、サーバーが宛先であるメールを認証なしで引き続き受け入れます。私の知る限り、その動作はインターネットから到達可能なSMTPサーバーのRFCによって義務付けられています。
暗号化された接続でのみSASL認証をアナウンスする
smtpd_tls_auth_only=yes
暗号化されたチャネルを介して全員に話しかける必要はありません
smtpd_tls_security_level=may
SASLボイラープレート
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $mydomain
メールを受け入れる相手。これは、許可または拒否のルールに遭遇するまで、左から右に機能します。フォールバック動作は許可することです。
smtpd_recipient_restrictions = permit_auth_destination, reject_plaintext_session, permit_sasl_authenticated, reject
permit_auth_destination
最初のルールとして、クライアントが私が責任を負っていると感じているユーザーにメールを配信できるようにします。クライアントは、TLSを使用するかどうかを選択できます。
reject_plaintext_session
2番目のルールは、他のすべてのルールが暗号化されたチャネルを想定できることを確認します。
permit_sasl_authenticated
自明です
reject
最後のルールは基本的にデフォルトのポリシーを「拒否」に変更します。
SMTP認証なしでメールを受け入れたくない場合は、の最初のルールを削除することをお勧めしますsmtpd_recipient_restrictions
。
SSL証明書の構成とそれについてpostfixに伝える方法は示されていません(後者は簡単です)。