テスト環境のためのpostfix設定:よそにメールを出さない!

テスト用のサーバーから外にメールが飛ばないようにするpostfixの設定方法

テストしてますかー?

自動テストなんてものもどんどん良くなって行きますが、「ついうっかり」でこんな事故も耳にしたり目にしたり尻拭いしたり・・・
* テストのデータが残ったまま本番が公開されちゃった
* テスト環境から他所のサイトにトラックバック送っちゃった
なんて可愛いものから
* テストコードが本番DBのデータを書き換えちゃった
* テスト環境で試してたらお客さんにメールマガジン投げちゃった
なんてワロエナイものまでいろいろあったりキレたりしてるとは思いますが、僕がテストで使ってるマシンから外向けのメールを捨てるようにしたのでメモがわりに設定を公開しときます。

環境
ubuntu 12.04LTSのpostfixでやりました。
たぶんCentOSでも同じようなファイルの位置だと思われ・・・

概要
– ryo.com宛のメールを指定のSMTPホスト(mail.ryo.com)に転送
– localhost宛のメールはそのままローカル配信する
– それ以外のメールは全て捨てる
上記の設定で、自分(というか自ドメイン)へのテストメールなんかはちゃんと受信するけど、テストで出すであろう外宛のメールは全部捨てちゃう、というのを実現します。

/etc/postfix/main.cf で、transportマップを設定
transport_maps = hash:/etc/postfix/transport

/etc/postfix/transport でメールの宛先毎の動作を設定
ryo.com smtp:[mail.ryo.com]
localhost local:null
localhost.localdomain local:null
* discard:discard

あとは上記の設定を有効にするだけ
root@myhostname:~# postmap /etc/postfix/transport
root@myhostname:~# service postfix restart
* Stopping Postfix Mail Transport Agent postfix
...done.
* Starting Postfix Mail Transport Agent postfix
...done.

これで、メールマガジン送信のつもりがspammerになっちゃったり、親切のつもりでシステムから自動的に出すようにしたメールが迷惑メールになったりすることがなくなりますね!

参考
postfixマニュアル – transport (5)

「テスト環境のためのpostfix設定:よそにメールを出さない!」への3件のフィードバック

コメントは受け付けていません。