宛先アドレスに応じてメールを別のSMTPサーバーに転送(またはプロキシ)するにはどうすればよいですか?
ポート25でリッスンするSMTP(postfix)サーバーを備えたマシンが1台あります。Lamson( http://lamsonproject.org/ )を使用して、受信するメールと必要なメールを処理します処理するpostfixがある。
私の考えは、別のポート、たとえばlocalhost:10025でリッスンするようにLamsonを設定することです。次に、ポート25でリッスンしてすべてのメールをキャッチするようにpostfixを設定します。
Postfixを設定して、特定のメールを10025のLamsonにプロキシし、他のすべてのメール自体を処理するにはどうすればよいですか?
Postfixは設定が非常に柔軟(したがって複雑)であるため、これを実現するにはさまざまな方法があります。最も簡単な方法は、おそらく transport(5)
テーブルを使用することです。
まず、postfixでトランスポートテーブルの使用を有効にします。
_/etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/transport
_
また、Lamsonが処理するアドレス宛てのメールをPostfixが受け入れるようにする必要もあります。有効な受信者アドレスを決定するためにPostfixが適用するルールについては、 _permit_auth_destination
_ をご覧ください。次の例では、「example.com」がPostfixに知られていないドメインであると仮定すると、単にそれをリレードメインとして追加するのがおそらく最も簡単です。
_/etc/postfix/main.cf:
relay_domains = example.com
_
次に、適切なテーブルを作成します。例えば。ドメイン「example.com」のすべてのメールと「[email protected]」のメールを、ポート10025でリッスンしているローカルのLamsonにリダイレクトするには、次のように入力します。
_/etc/postfix/transport:
example.com smtp:127.0.0.1:10025
[email protected] smtp:127.0.0.1:10025
_
その後(およびトランスポートテーブルファイルが更新されるたびに1回)、実行することを忘れないでください。
_$ postmap /etc/postfix/transport
_
これでうまくいくはずです。 transport(5)
のmanページを必ずお読みください。この強力な機能の使用方法に関するアイデアが得られます。