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


関連記事

no image

script/曜日の判定(if文とdateオプション)

曜日を判定する勉強用スクリプト。 dateコマンドのオプション”%u”で曜日を数値で出力し、あらかじめ決めた曜日に合致するか否かで メッセージを切り替える。 デフォルト曜日は日 …

no image

postfix + MailScanner

[pukiwiki] #contents *MailScannerインストール [#u6675e2d] MailScannerを試す。 これでウィルス/スパムを同時にスキャンできる。 【本家サイト】 …

no image

[メモ]ディレクトリ”/srv”の使いみち

WebサーバーやDBサーバーをセットアップする際、RedHat、Fedora、CentOSなどでRPMパッケージでセットアップする場合は /var/www や /var/lib/mysql などあらか …

no image

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

[pukiwiki] // tag // ssh openssh // fingerprint // Are you sure you want to continue connecting // k …

no image

openssh6.1 ソースからのインストール

元々CentOSに入っているopensshから、最新版の機能を試したいので、現在借りているさくらのVPSにソースからインストールをしてみることに。 make installするタイミングで一旦RPM版 …