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


関連記事

apache SSL 秘密鍵ファイルのパスフレーズ解除

[pukiwiki] SSLの運用にて、keyファイル(秘密鍵)のパスフレーズを解除していない場合 apacheのhttpdを再起動する際にパスフレーズの入力を求められる。 -出力例 // # /et …

nagios​/tipやメモ

  [pukiwiki] nagiosのtipやメモを色々と。 **1)var/以下のファイル [#m741522d] var/以下はログと監視ステータスの状態、設定情報などのキャッシュなど 各種の運 …

no image

メールサーバー構築ログ[postfix+mysql+postfixadmin]

[pukiwiki] 約2年ぶりくらいにpostfix+mysql+postfixadminでメールサーバーをセットアップしたので 備忘録として。 割とスタンダードな内容なので、参考になるかわかりませ …

[AWS EC2] RHEL6のインスタンスでttyS0 のエラーが大量発生

  AWS EC2にてRedHat Enterprise Linux 6.5(以下RHEL6.5)のインスタンスを立ち上げ、MySQLサーバーをセットアップしてる最中 /var/log/message …

[redash] メール通知設定の追加(redashAMI限定)

redashへ、パスワードリセット時のリマインダメール通知を有効にするため、メール周りの設定を追加。 (googleアカウントと連携していない環境でのメモです) 参考: Redash: Mail Co …

宅麺