目的

メールの送信プログラムを作る時に、やたらめったら外部に送信されてもテストにならないし、危なっかしいので、送信されたメール全てをあるメールアドレスへ送信されるように設定する。

postfixのインストール

sudo apt-get install postfix

楽ちん。

vi /etc/postfix/main.cf

+ header_checks = regexp:/etc/postfix/header_checks

main.cfを編集。

vi /etc/postfix/header_checks

+ /^To:test@example.com/ OK
+ /^To:.*/ REDIRECT test@example.com

転送したいメールアドレスとかゴニョゴニョする。

sudo /etc/init.d/postfix restart

再起動。

テスト

ちゃんとtest@example.comへ転送されるかのテスト。

telnet 127.0.0.1 25

HELO 127.0.0.1
MAIL FROM: <hoge@example.com>
RCPT TO: <foo@example.com>
DATA
Subject: HogeHoge
From: <hoge@example.com>
To: <foo@example.com>

this is test.
.
QUIT

転送されないメアドのテスト。

telnet 127.0.0.1 25

HELO 127.0.0.1
MAIL FROM: <hoge@example.com>
RCPT TO: <test@example.com>
DATA
Subject: HogeHoge
From: <hoge@example.com>
To: <test@example.com>

this is test.
.
QUIT

これでOK。

超参考になったサイト

テスト用に、外にメールを送らないメールサーバをつくろう - お前の血は何色だ!! 4