一つのpostfixで複数のドメインのメールを処理するときの設定
postfixの設定が未だに良く分からなかったので、先輩に聞きました。ざっと理解したことをメモします。
前提知識
■/etc/postfix/virtual 一つのpostfixで複数のドメインのメールを受け取るときに使用する。ドメインごとに、どのユーザーで処理するか記述する。 ■/etc/aliases ユーザーごとに処理を記述する。
設定概要
(1)/etc/postfix/virtualにどのドメインできたらどのユーザーとして処理するか書き込む (2)/etc/aliasesに、各ユーザーはどんな処理をするか書き込む (3)aliasesの反映とpostfixの再起動
設定詳細
(1)/etc/postfix/virtualに以下を書き込みましょう。書き込むところはファイルの一番下で大丈夫です。ファイルはvimで開いて大丈夫ですよ。
#midori-mobile.jp midori-mobile.jp anything @midori-mobile.jp midori_catch_all
/etc/postfix/virtualは、メールをpostfixが受け取ったときに、自分が配信を担当しているドメインか確認するファイルです。送られてきたメールのドメインが、ここに書いてあるドメインと一致すれば、postfixは送られてきたメールを自分自身に向けて再度転送します。
上記の例の場合、midori-midori.jpというドメインでメールが送られてきたら、自分自身のmidori_catch_allに向けて送られてきたメールを再送信します。
(2)/etc/aliasesに以下を書き込みましょう。書き込むところはファイルの一番下で大丈夫です。ファイルはvimで開いて大丈夫ですよ。
#midori midori_catch_all: "|touch /tmp/midori.html"
メールが自分自身に再度転送されたら、postfixは/etc/aliasesを見て、ここにmidori_catch_all(メールの送り先)があれば""で書かれた部分の処理が回ります。
上記の例の場合、midori_catch_allに送られてきたメールは、""に書かれている処理を施します。この場合、/tmpの配下にmidori.htmlができます。
(3)変更したaliasesの反映とpostfixの再起動を行う(共に管理者権限で)
■aliasesの反映 shell> newaliases ■postfixの再起動 shell> service postfix restart
(参考)実際にメールを受け取れているかログベースで見てみましょう。
tail -f /var/log/ServerLogs/maillog