代替ポート上の SMTP デーモンが、単一の Dovecot メールボックスにすべてのメッセージをキャプチャします。

代替ポート上の SMTP デーモンが、単一の Dovecot メールボックスにすべてのメッセージをキャプチャします。

メール スクリプトの開発/テストのために、すべてのメッセージを単一のメールボックスにリダイレクトするように postfix を構成する方法について、ここにはいくつかの回答があります。

私は、既存のメール サーバーで代替ポートを開き、そのポートに配信されるすべての SMTP メッセージを同じサーバー上のメールボックス (Dovecot、ローカル配信経由) にダンプするという、これのバリエーションを探しています。

私の問題は、smtpd が main.cf 内の設定を共有しており、別の postfix 環境全体を設定せずに smtpd の 2 番目のコピーを実行する方法がわからないことです。もっと簡単な解決策を探しています。

このsmtp-sinkプログラムはほとんどまさに私が求めていたものです。各メッセージを新しいファイルに書き込みますが、さらに、メール クライアントが簡単に確認できるように、ローカル配信経由で Dovecot にプッシュしたいと考えています。

これを実現する簡単な方法を誰かお勧めいただけませんか? SMTP をリッスン/読み取り、LMTP を書き込む Perl スクリプトでも構いません。

答え1

smtpd_recipient_restrictionsセカンダリポート(たとえばポート9925)をオーバーライドして、選択したメールボックス(たとえば[メールアドレス])。

master.cfのエントリ

9925      inet  n       -       -       -       -       smtpd
    -o smtpd_recipient_restrictions=check_recipient_access,pcre:/etc/postfix/x.pcre,reject_unauth_destination

ファイル/etc/postfix/x.pcre

/.*/    REDIRECT [email protected]

この設定では、このポートに来るすべてのメールはPCREパターンに一致するため/etc/postfix/x.pcre、postfixはそれを[メールアドレス]

最後の仕事は、[メールアドレス]dovecot LMTP 経由で配信されました。

関連情報