SMTP 認証に基づいて宛先アドレスを書き換える

SMTP 認証に基づいて宛先アドレスを書き換える

開発目的で、特定の SMTP アカウント経由で送信されるすべてのメールをこの同じアカウントに送信するメール サーバー (postfix) をセットアップしたいと考えています。

編集: メールは元のアドレスに送信されなくなります。

したがって、プロジェクトごとに異なるアカウントを作成し、1 つのプロジェクトのすべてのメールを 1 つのメールボックスに送ります。

現在、次のソリューションを使用しています:送信メールの受信者全員(1人を除く)を書き換える

しかし、SMTP AUTH アカウントに基づいて、これをさまざまな宛先アドレスに適応させるにはどうすればよいでしょうか?

答え1

次の 2 つのオプションがあります。

1. sender_bcc_mapsPostfix のオプションを使用します。

sender_bcc_maps (デフォルト: 空)

オプションの BCC (ブラインド カーボン コピー) アドレス検索テーブル。送信者アドレスでインデックス付けされます。Postfix の外部からメールが届いたときに、BCC アドレス (複数の結果はサポートされていません) が追加されます。

に以下を追加する必要があります/etc/postfix/my.cnf:

sender_bcc_maps = hash:/etc/postfix/bcc_maps

そして、ファイルに/etc/postfix/bcc_maps必要なマッピングを追加します。

[email protected] [email protected]
[email protected] [email protected]

次に以下を実行します:

postmap /etc/postfix/bcc_maps

そしてPostfixを再起動します。

  1. 送信者ベースのリダイレクト

main.cf の場合:

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access

sender_access ファイルでは次のようになります:

from_address@domain redirect new_to_address@anotherdomain.

その後postmap /etc/postfix/sender_access、postfixを再起動します

答え2

これは答えではないSMTP認証に基づくただし、お客様のニーズに基づいたソリューションを提供します。

私はこれに正規マップを使用し、新しい VPS (centos/ubunbtu など) を設定してから、このボックスをスマートホストするように「開発」システムを設定しました (ネットワーク内、例: 192.168.0)。wp-smtp などを使用して同じ操作を行うこともできますが、私たちは interworx を使用したため、スマートホストが最もうまく機能しました。

[root@mx ~]# cat /etc/postfix/main.conf
  recipient_canonical_classes = envelope_recipient
  recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical_map
  mynetworks = 192.168.0.0/24
  header_checks = regexp:/etc/postfix/header_checks
  relayhost = mailserver.example.com

[root@mx ~]# cat /etc/postfix/header_check
  /^Subject: (.*?)$/ REPLACE Subject: [Dev] $1
[root@mx ~]# cat /etc/postfix/recipient_canonical_map

  /./ [email protected]

*regexp なので、ファイルをポストマップする必要はありません。

これは開発環境なので、個人的な経験から言うと、開発に対応するために本番環境を操作することはお勧めしませんが、これらのシステムを橋渡しするためにこのようなシステムを構築することをお勧めいたします。

http://www.postfix.org/postconf.5.html#受信者の正規マップ

関連情報