すべての電子メールを1つのドメインに捨て、他のすべての電子メールを中継するようにpostfixを構成するにはどうすればよいですか?


9

お客様に迷惑メールを送信しないように、メールをフィルタリングするために開発/テスト環境でpostfixを設定する必要があります。テスト環境では、すべてのユーザーデータをスクラブして、電子メールアドレスが@localhostに変更されるようにします。ただし、一部のアドレスは、テスト目的で後で有効な電子メールアドレスに変更される可能性があります。私たちはすべてのメールをサードパーティのプロバイダー経由で配信するため、postfixを次のように設定します。

  1. localhostに送信された電子メールを破棄する
  2. 残りのすべての電子メールをサードパーティのプロバイダーに中継します。

postfixが比較的新しいので、これを設定する最も簡単な方法は何でしょうか?

回答:


8

さて、私は少しの検索とテストでこれを理解できたようです。これが私がしなければならなかったことです:

  • /etc/postfix/main.cf内:

    transport_maps = hash:/etc/postfix/transport
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = static:<relayhost username>:<relayhost password>
    smtp_sasl_security_options = noanonymous
    smtp_tls_security_level = may
    start_tls = yes
    
  • / etc / postfix / transport:

    localhost discard: 
    localhost.localdomain discard:
    * relay:[smtp.relayhost.com]:587
    

リレーは明らかにalias_mapsディレクティブもバイパスするため、エイリアスが機能し続けるためには、alias_mapsとalias_databaseの両方をコメント化し、virtual_alias_mapsで置き換える必要がありました。virutal_alias_mapの形式はalias_mapsと同じなので、簡単に変更できました。

これらの変更を適用したら、postfixを再起動し、 "postmap / etc / postfix / transport"を実行してtransport.dbをビルドします。@localhostまたは@ localhost.localdomainにアドレス指定されたものはすべて破棄され、その他はすべて指定されたホストを介して中継されます。


1
これはOPの質問に対する回答ではありませんが、関連する注意事項として、製品ボックスの一時的なクローンですべての送信メールを破棄するために行った処理は次のとおりです。1.開く/etc/postfix/main.cf2.追加default_transport = discard:Outgoing email disabled on this node3.再起動Postfix:service postfix restart* a reload十分かもしれません
deoren
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.