2台のメールサーバーに同一メッセージをメールリレーする方法
[概 要]
本ドキュメントでは、postfix利用時に2つのサーバー宛に同一メッセージをメールリレーする
方法について記述します。
このことにより、リレー先のメールサーバーに障害が発生した場合参照先を切り替える事で
業務を継続可能です。
[注意事項]
本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。
本ドキュメントの内容は、予告なしに変更される場合があります。
本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。
本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。
[前提条件]
・転送元となるpostfixによるメールサーバーが既に構築されている事
・転送先の2台のsmtpサーバーが別途用意されている事
・転送先の2台のメールサーバーに対して、DNSによる名前解決が可能である事
また、サーバー名とメールドメインは以下と仮定します。
ご使用の環境に置き換えて設定して下さい。
転送元サーバー名:mail1.example.com
転送先サーバー名1:mail2.example.com
転送先サーバー名2:mail3.example.com
メールドメイン:example.com
[確認環境]
OS:Asianux Server 3 (x86版)
postfixのversion:2.3.3-2.8AX
[設定手順]
※本手順の設定はmail1.example.com(転送元サーバー)に対して行います。
1.転送先1の設定
転送先1はtransport_mapsを使用して実現します。
(1)transport_maps機能をONにします。
/etc/postfix/main.cfを任意のエディタで開き以下の行を追記します。
transport_maps = hash:/etc/postfix/transport
(2)transportファイルを作成します。
/etc/postfix/tranportファイルが無ければ作成し、以下の行を記述します
意味は、exmaple.comドメインのメールをmail2.example.comサーバーに転送します。
example.com smtp:[mail2.example.com]:25
(3)以下のコマンドを実行しtransport.dbファイルに反映させます。
# postmap /etc/postfix/transport
2.転送先2の設定
転送先2はrecipient_bcc_mapsを使用します。
(1)recipient_bcc_maps機能をONにします。
/etc/postfix/main.cfを任意のエディタで開き以下の行を追記します。
recipient_bcc_maps = regexp:/etc/postfix/recipient_bcc.regexp
(2)recipient_bcc.regexpファイルを作成します。
/etc/postfix/recipient_bcc.regexpファイルが無ければ作成し、以下の行を記述します。
/(.*)@example.com/ $1@mail3.example.com
3.postfix再起動
以下のコマンドにてpostfixを再起動し、設定内容を反映させてください。
# service postfix restart
以降、mail1.example.comサーバーに届いたメールはmail2.example.comサーバーとmail3.example.comサーバーにリレーされます。
[更新履歴]
・2008年 3月 3日 新規作成