Postfix:開発環境用のメール送信設定
最終更新日時:2019-04-02 12:48:36
Postfix
Postfix
自分がよく設定している開発環境用のメール送信設定のメモ。
以下、Postfix 想定のメモですが、sendmail でも mailiertable を使えば同じようなことが可能です。
目的
開発環境上でテストする際に、実在するメールアドレスへメールを送信してしまってはまずいケースが多々あります。
例えば、DB 上に登録されている会員データ的なもののメールアドレスへ何らかの通知メールを送信する、など。
通常はこういったケースでは、そもそもそのような危険なデータを使わないというのが鉄則ですが、そうもいかないことも多々ありますので、MTA 側でいわゆる誤爆的なメール送信を防ぐことが目的となります。
設定
/etc/postfix/main.cf で以下のように設定します。
transport_maps = hash:/etc/postfix/transport luser_relay = xxxxxxxx
xxxxxxxx は想定外のメールを受け取るメールアドレスです。
通常は適当なローカルユーザーにします。
さらに、/etc/postfix/transport で以下のように設定します。
aaa.bbb.ccc smtp:aaa.bbb.ccc * local:
普通に送信して良いドメインは aaa.bbb.ccc のように明記します。
解説
transport_maps を使ってメール送信するドメインを制限しています。
これは社内のアドレスなどテストで使用するドメイン、また、ある意味誤送信してもOKなドメインです。
それ以外は local 配信します。
ちなみに、
aaa.bbb.ccc smtp:[xxx,xxx,xxx]
のように [] を使用して記載すると、ドメインの部分は MX を引きません。
また、IP アドレスも直接記載することができます。
特定のドメイン以外の local 配信となったものは、luser_relay の設定により、xxxxxxxx 宛に送信されるようになります。