harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

MAIL postfix メモ

[メモ][postfix] インバウンド、アウトバウンドにかかわらずすべてのメールを特定のアカウントに転送する設定

投稿日:2016年1月25日

テスト環境でデバッグやテスト時に開発サーバーのMTAから配信されるメールを特定のアドレスに転送させる設定を追加。
目的は、ソース内にハードコーディングされている本番サーバー向けのドメインに、誤ってメールが送信されちゃうトラブルを回避するため。
環境はEC2、rightscaleのCentOS6.7にて。

▼要件

    ・インバウンドメールを、本来の宛先にかかわらず、すべてローカルの特定のアカウントに転送する
    ・システム宛(root, postmaster等)は root 、それ以外は harumakiuser に送られる
宛先:harumakiuser@example.com → harumakiuser@example.com(ローカル)
宛先:info@example.com → harumakiuser@example.com(ローカル)
宛先:abuse@example.com → harumakiuser@example.com(ローカル)
宛先:webmaster@example.com → harumakiuser@example.com(ローカル)
    ・アウトバウンドメールについてもローカル内に転送し、外部には送らない。
    ソースコード内にハードコーディングされている 本番サービスのドメイン宛メール送信があって
    見落としによる外部送信を回避するため。

▼環境ドラフト

    ・SMTPはpostfixで動かす
    ・メール転送オプション”transport_map”または”header_checks”あたりで設定。
    ・ローカルの配送先は複数指定できないので、rootに統一する。
    ・メールの格納方式は、このタイミングでMaildir形式に変更する。

▼設定

– /etc/postfix/main.cf

# インバウンドのメールを受けないため、明示的にローカルホストを指定
myhostname = localhost.localdomain
mydomain = localhost.localdomain
myorigin = $myhostname

# アウトバウンドメールの配信は原則ローカルのみ、外部ホストからの転送は受け付けない
inet_interfaces = 127.0.0.1

# ローカル転送の際に指定するドメイン
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# ローカルにためるメールをmaiboxからmaildir形式へ変更
home_mailbox = Maildir/

# 以下、アウトバウンド向けメールをローカルに転送する設定
# ローカル転送を拒否しない
local_recipient_maps =
# 今回、ここが分からなくてハマッたが、設定値をnullにすることでうまくいった。

# ローカルユーザーのリレー先アカウントの指定、以下ではrootを指定
luser_relay = root

# 宛先ドメインの条件判定式(transport)のファイルを指定
transport_maps = hash:/etc/postfix/transport

– /etc/postfix/transport

# すべてのメールをローカルへ転送する
*       local:

 

▼設定適用

※開発環境ではpostfixを未起動であったため、初期設定を含めて設定を適用。

– 1.aliases.db作成

# postalias /etc/aliases

– 2.自動起動設定

# chkconfig --list postfix
service postfix supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add postfix')
# chkconfig --add postfix
# chkconfig --list postfix
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off

– 3.transport

# postmap /etc/postfix/transport

– 4.postfix起動

# /etc/init.d/postfix start
Starting postfix:                                          [  OK  ]

 

▼ログ

上記設定後での配信成功ログ。

Jan 25 11:58:46 ip-10-128-1-4 postfix/smtpd[15810]: connect from localhost[127.0.0.1]
Jan 25 11:58:55 ip-10-128-1-4 postfix/smtpd[15810]: BBA397615E: client=localhost[127.0.0.1]
Jan 25 11:59:09 ip-10-128-1-4 postfix/cleanup[15812]: BBA397615E: message-id=<20160125025855.BBA397615E@localhost.localdomain>
Jan 25 11:59:09 ip-10-128-1-4 postfix/qmgr[15801]: BBA397615E: from=<root@localhost.localdomain>, size=377, nrcpt=1 (queue active)
Jan 25 11:59:09 ip-10-128-1-4 postfix/local[15803]: BBA397615E: to=<root@localhost.localdomain>, orig_to=<harumakiuser@example.com>, relay=local, delay=19, delays=19/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
Jan 25 11:59:09 ip-10-128-1-4 postfix/qmgr[15801]: BBA397615E: removed

ひとまずこれでOK。

-MAIL, postfix, メモ

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

[メモ]phpmyfaqインストール

phpmyadminのインストール(rpm版) † ごく簡単だけど、備忘録として。 # yum install phpmyadmin RPMでインストールした場合、phpmyadminの …

no image

opensshにてfingerprint確認を省略する設定

サーバー構築中によくある手間として、初めてsshでアクセスするホストから fingerprintの確認ダイアログが出てきてyesする手間があるが、この手間を省略するのに なんかオプションはあるのか探っ …

no image

超久々にmuninをインストール

新規システムを作ったので、それに合わせてかれこれ5~6年ぶり位にmuninのインストールを。 サーバーはCentOS6.*。 1)rrdtoolのアップデート デフォルトリポジトリ(base)のrrd …

no image

インフラ運用の心得:最低限やっておくこと

インフラ運用に最低限やっておくこと 1)ドキュメント作成 2)ログ 3)バックアップ/データ 4)バックアップ/ハード 5)バックアップ/ネットワーク機器 6)監視 /トラブルシュート 7)ネットワー …

no image

mbox2maildir

会社のテストサーバが不調になり、調査のために/var/spool/mailsvr/rootにたまったLogwatchを取り込もうとしたのだが、テストサーバにqpopperを入れるのが面倒で試した手段。 …