postfix配送経路設定
メール中継サーバや、メールゲートウェイなどを構築する際に必要になることが多いと思うのですが、 postfixでドメインやメールアドレスごとに配送先を指定する方法です。
postfix設定変更
postfixの設定ファイルであるmain.cfに「transport_maps」項目を追加し、 メールの配送経路指定を設定します。
# cp -p /etc/postfix/main.cf /etc/postfix/main.cf_yyymmdd # vi /etc/postfix/main.cf
編集箇所
transport_maps = hash:/etc/postfix/transport
trapsport.db作成
「transport_maps」項目を追加します。
一般的には、メール配送(transport)経路の情報はtransportファイルに記述して、 そのファイルを元に、postmapコマンドにてhash化されたDBを作成します。
# cd /etc/postfix # cp -p transport transport_yyyymmmdd # vi transport
編集内容
以下の設定例では「server-memo.net」ドメイン宛てのメールについては、 「smtpプロトコルにてIPアドレス「192.168.1.249」のサーバへ転送(transport)する」 という設定になっています。
server-memo.net smtp:192.168.1.249
書式
server-memo.net このドメインのみ .server-memo.net サブドメインを含みます
server-memo.net smtp:[in.server-memo.net]
[]でくくることでMXレコードを使用しないで、メールを転送します。
hashDB作成
postmapコマンドを使ってhash化したdbを作成します。
わざわざhashDBを使用する理由は、普通のファイルを読み込むより hashDBを使用するほうが、処理速度が速くなるからです。
# postmap transport
transport.dbが作成されます。
ちなみに「strings」コマンドを使用することで「transport.db」の内容が確認できます。
# strings transport.db smtp:[192.168.1.249] server-memo.net
設定反映
すべての設定が完了しましたら、postfixに設定変更を反映させます。
# /etc/init.d/postfix reload postfix を再読み込み中: [ OK ]
以上で、設定完了となります。
コメント