harumaki.net

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

MAIL postfix メモ

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

投稿日:2016年1月25日

Last Updated on 2016年3月25日 by かんりにん

テスト環境でデバッグやテスト時に開発サーバーの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


関連記事

[DB]FireBirdをインストールしてみた(RPM編)

[pukiwiki] FireBird2.5をVPSを利用して、CentOS6環境でささっといじってみました。 epelリポジトリで提供されているパッケージを使えたので、セットアップは楽でした (yu …

no image

サーバー構築をする時のミクロな悩み:環境変数

※RedHat、CentOSでのbash環境での話です。 サーバー構築をする時、定石として一番悩ましいのが”環境変数をどこに明示するか?”なのですが いろいろ悩んだ末の結論とし …

Linux環境でのgoogle driveクライアントをいろいろと下調べ

  これまでずっとdropbox.pyを利用してサーバーの設定ファイル、DBバックアップをDropboxにアップしたりといろいろやってきたが、無料プランでの容量の限界が近づいてきたので、サーバーのバッ …

[AWS]ただのメモ:rightscaleのCentOSでなぜかyum updateが動かない、と思ったら

  EC2にてrightscaleのCentOSにセキュリティパッチをあてるため”yum update”をしておこうとしたら、”No Packages marked …

no image

[メモ]FreeBSDでsendmail→postfixへの切り替え

[pukiwiki] FreeBSDでのsendmail→postfix切り替えの作業ログ。 お客さんの会社で、長らく管理人不在のまま使用していたFreeBSDのWebサーバーでハードウェア障害が起き …