« swatch3.1.1 | トップページ | rrdtoolでグラフ描き »

2006.01.11

存在しないドメイン宛のメール

自宅サーバはダイナミックDNSを使って運営していて、さらにそこにメールサーバまであったりする。
で、昨日のlogwatchからのメールを見ていてまずいと思ったのでpostfixの設定を見直した。
何がまずいかというと、自宅サーバのメールに使っているドメイン名をexample.comとして書いていくと、hoge@example.comというようなメールアドレスをうちでは使っているのだけど、嫌メールの送信者がfoo@happy.example.comという様なアドレスにメールを送ってきた。
で、メールサーバはhappy.example.comなんてドメイン名を知らないものだからこの間やったpostfixからプロバイダのsmtpサーバへのリレーの設定に基づいてプロバイダのメールサーバ経由でfoo@happy.example.com宛てにメールを送りに行くという非常にまずい感じになっていた。

どうにかせねばとマニュアルを眺めたところtransport(Postfixのぺーじより)の設定でうまくいった。

/etc/postfix/main.cfに

transport_maps = hash:/etc/postfix/transport

を追加

/etc/postfix/transportに

example.com       smtp:mail.example.com
fw.example.com   :
sv.example.com   :
.example.com      error:mail is not deliverable
*               smtp:プロバイダのメールサーバ

を書いてpostmap /etc/transportをやってpostfixを再起動。

main.cfのrelayhostはコメントアウトした。

これをやっておくと、hoge@fw.example.comやfoo@sv.example.com宛てのメールはそのまま配送され、uni@example.com宛てのメールはmail.example.comへ送られる、それ以外のたとえばhoge@happy.example.com宛てのメールはエラーになり、example.com以外のドメインあてのメールはプロバイダのメールサーバ経由で送られる

|

コメント