postfix 配送経路指定(transport_maps)

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  ]

以上で、設定完了となります。

コメント

タイトルとURLをコピーしました