メール転送機能(SMTPゲートウェイ)

メール転送(ルーティング)機能は指定されたメールアドレス(又はドメイン単位)でメールの配信先を変更することが出来ます。
また全てのメールを強制的に特定のサーバへ転送させることも出来ます。
SMTPゲートウェイのような使用方法や、Outbound Port 25 Blocking が行われているネットワーク内からの中継などにも利用できます。
転送先のサーバで SMTP認証が必要な場合は転送先の ID とパスワードを設定することにより SMTP認証を行わせることも可能です(SMTP認証はLOGIN/CRAM-MD5 に対応しています)

転送の対象となるメールは

が対象となります。
メール転送機能はユーザーが設定する forward.txt にも影響を与えます。相互の関係は下記の通りになります。

  1. メール転送機能は、該当するメールアドレス又はドメインが含まれる場合に転送処理が行われます。
    設定A

    識別ドメイン転送先
    1@example.jpakisoftware.jp

    宛先のアドレスに @example.jp が含まれる場合、該当するメールは akisoftware.jp へ転送が行われます。該当しないメールは通常の処理によって配信(MTA)が行われます。

    設定B

    識別ドメイン転送先
    1@example.jpmail1.akisoftware.jp
    2*mail2.akisoftware.jp
    宛先のアドレスに @example.jp が含まれる場合、該当するメールは mail1.akisoftware.jp へ転送が行われます。該当しないメールは 2の設定により mail2.akisoftware.jp へ転送が行われます。

    転送設定は上から順番に判断されていきますので1と2の設定を逆にした場合1に * (アスタリスク)が指定される 為、全てのメールが最初に処理が行われ2の処理は実行されませんのでご注意下さい。

    設定C


    識別ドメイン転送先
    1user1@example.jpmail1.akisoftware.jp
    2user2@example.jpmail2.akisoftware.jp
    3@example.jpmail3.akisoftware.jp
    4*mail4.akisoftware.jp

    宛先のアドレスに user1@example.jp が含まれる場合、該当するメールは mail1.akisoftware.jp へ転送が行われます。
    宛先のアドレスに user2@example.jp が含まれる場合、該当するメールは mail2.akisoftware.jp へ転送が行われます。
    宛先のアドレスに example.jp が含まれる場合(user1/user2 は上記の設定で転送済みにですので、それ以外)該当するメールは mail3.akisoftware.jp へ転送が行われます。
    上記に該当しないメールは4の設定により mail4.akisoftware.jp へ転送が行われます。

    設定D


    識別ドメイン転送先
    1user1@example.jp192.168.11.10
    2@example.jpmail1.akisoftware.jp
    3@example.comMTA
    4*mail2.akisoftware.jp

    宛先のアドレスに user1@example.jp が含まれる場合、192.168.11.10 に転送されます。
    宛先のアドレスに @example.jp が含まれる場合(user1 は上記の設定で転送済みの為除外)該当するメールは mail1.akisoftware.jp へ転送が行われます。
    宛先のアドレスに @example.com が含まれる場合、該当するメールは MTA によって通常配信されます。
    上記に該当しないメールは4の設定により mail2.akisoftware.jp へ転送が行われます。

  2. forward.txt による転送(以降フォワード)は上記の設定の影響を受けます。
    ローカルアカウント(localuser@example.jp)の forward.txt に user@example.net へ転送を行う設定があるとします。

trans2.gif


転送先での認証用設定

trans6.gif

転送設定で SMTP認証が必要な場合に自サーバで管理している以外のアカウント(ID)とパスワードの管理が必要になります。
共通アカウントは全ての転送に利用される SMTP認証用アカウントです。ローカルユーザーが共通アカウントを設定している場合は user1@example.jp と user2example.jp どちらのアカウントから送信が行われても共通アカウントを利用して SMTP認証を行います。
共通アカウントを利用したくない場合は、アカウントの箇所にローカルユーザーを個別に指定します。

ローカルユーザーに user1@example.jp と user2@example.jp がいる場合

設定例1(ドメイン名で受信メールを識別して転送を行う場合)

Trans1.gif
各機器の設定は下記の通り(ホスト名、IPアドレス、変換ホスト名、ポート等は例です、設置する環境によって合わせて下さい)
DNS には mail.example.jp/mail2.example.jp/mail3.example.jp 全て 210.123.45.67 で登録を行います。
サーバBとサーバCに登録したメールアカウントは全てサーバAにも登録する必要があります。(account.dat のコピーで出来ます)
未登録の場合サーバAでローカルユーザーか判別が出来ない為

各端末からのメール送信は全てサーバAで行います。

trans4.gif

メールの流れ

●外部から宛先が mail.example.jp のメールが届いた場合は、そのままサーバAに蓄積されます。

●外部から宛先が mail2.example.jp のメールが届いた場合は、まずサーバAが受信します。サーバAはドメイン名を確認しルーティングルールに従って サーバB(192.168.1.100/11000)へメールを転送します。この際に接続には指定された IP アドレス(192.168.1.100)を利用し、SMTP でメールを送る場合、192.168.1.100 を指定された変換ホスト名(example.jp)に変換を行って配信を行います。

●外部から宛先が mail3.example.jp のメールが届いた場合は、まずサーバAが受信します。サーバAはドメイン名を確認しルーティングルールに従ってサーバC(192.168.1.200/11001)へメールを転送します。この際に接続には指定された IP アドレス(192.168.1.200)を利用し、SMTP でメールを送る場合、192.168.1.200 を指定された変換ホスト名(example.jp)に変換を行って配信を行います。

●このように構築することにより外部に直接接続されているサーバAがアタック等でクラッシュした場合や HDD 故障等の問題が発生してもメール自身は サーバB、サーバCに転送されている為受信し終わっていないメールがあったとしても実害はありません。(単独で構築している場合、サーバAが クラッシュした時点で中にあるメールは全て失う恐れがあります)
またサーバにメールを残す設定にしてある場合でも、サーバAは受信と転送に専念し、サーバB、サーバCはメールの読み取りのみに専念されることにより サーバへの負担が分散される等のメリットがあります。


設定例2(送信するメールを特定のサーバへ転送する場合)

trans3.gif
各機器の設定は下記の通り(ホスト名、IPアドレス、変換ホスト名、ポート等は例です、設置する環境によって合わせて下さい)

LANサーバは転送のみを行いますのでアカウントの設定は必要ありませんが、その変わりに PMailServer2 で端末からの送信を許可する為に中継を許可する設定を行います。

trans5.gif

メールの流れ

●端末からLANサーバにメールを送信します。

●転送設定の識別ドメインが全て(*)が指定されていますので、PMailServer2 は指定されたドメイン名へ転送を行います。(確実に送信先がわかっている場合は IP アドレスを指定することが可能です、イントラ内>イントラ内など)

●ISP サーバが LAN サーバよりメールを受け取った場合、ISP サーバがメールの配信を行います。
ISPサーバが POP Before SMTP や不正中継対策を行っている場合メールを受け取らない場合があります。この場合は ISP 側の設定に影響され、PMailServer2 側で配信することは出来ませんので端末から ISP サーバへ直接送信を行って下さい。

●このように構築することにより外部のISPを経由してメールの送信が可能です。説明上 ISP としていますが、フィルタサーバ(ウィルスチェック等)を経由して送信を 行いたい場合などの利用することが出来ます。また送信メールのバックアップ機能を併用して使うことにより外部のISPを送信サーバとして使っている場合でも送信メール の保存を行うことが出来ます。

●ローカル宛のメールを転送の処理対象としないチェックを入れると、Outbound Port 25 Blocking が実施されているネットワーク内で、上記の方法でメールの送信を おこなうことができる場合があります。(対応している ISP が建てたドメインからのアドレスに対して中継を許可している場合のみです)

Outbound Port 25 Blocking の送信に対しては、実施しているネットワーク管理者にお問い合わせ下さい。


設定例3(不特定のサーバから受信したメールを特定のサーバへ転送する場合)

trans8.gif
各機器の設定は下記の通り(ホスト名、IPアドレス、変換ホスト名、ポート等は例です、設置する環境によって合わせて下さい)

Gatewayサーバは転送のみを行います。設定2のように不特定のサーバからの中継を許可することはできませんので、その代わりに「宛先に識別ドメインが含まれる場合は中継扱いとする」にチェックを入れます。

trans9.gif

メールの流れ

●ISPから Gateway サーバにメールの配信が行われます。

●宛先に転送先のドメイン(識別ドメイン)が含まれる場合、中継扱いとされます(宛先に識別ドメインが含まれる場合は中継扱いとするにチェックが入っている為)。含まれない場合は通常の配信として処理されます。

●宛先のドメインが mail1.akisoftware.jp の場合は、192.168.1.100 に配信が行われます。
同様に mail2 の場合は 192.168.1.101、mail3 の場合は 192.168.1.102 に分けて配信が行われます。

●このように構築することにより PMailServer2 を Gateway サーバとして稼働させることができます。
DNS の設定と関連しますが、DNS に

akisoftware.jpA 192.168.1.2
mailMX10akisoftware.jp
mail1MX100akisoftware.jp
mail2MX100akisoftware.jp
mail3MX100akisoftware.jp
上記のように設定を行い、設定3を行いますと
1台のサーバで全てのアカウントを管理しない場合や、PMailServer2 内蔵のSMTPフィルタを使ってフィルタリング等を行う、外部に公開するサーバをファイヤウォールの外側に設置するなどに利用できます。

●「宛先のドメインが識別ドメインに含まれる場合中継扱いとする」設定と「ローカルユーザーのチェックをする」に同時にチェックを入れる場合は設定に注意してください。
宛先が hogehoge@mail1.akisoftware の場合、まず識別ドメインに含まれる為に「中継処理」が行われます(この判断は RCPT TO の時点で行われます)。本文を受信し終えた段間で、MTA に処理が移る前に「転送設定によって転送の可否」が判断されますが、「ローカルユーザーのチェック」が入っている場合に、Gateway サーバにはローカルユーザーとして存在しない為「通常配信」として処理が行われます。
通常配信として判断された場合、転送処理が行われませんので、DNS に mail1.akisoftware の問い合わせを行い、自サーバ(上記の例の場合 192.168.11.2 )がヒットし、自サーバに配信が行われます。自サーバで受信したメールは最初に戻りますので「メールが無限ループに陥ります」場合によってはサーバが自力で停止することができなくなる事態になる場合がありますので注意してください。

DNS の設定によっても左右されますが、両方へ同時にチェックを入れる場合は、DNS の引き方に注意してください。


設定時の注意

転送はメール本文の受信後に行われます。自サーバ自身に POP Before SMTP や SMTP 認証が必要な設定などがされている場合は本文受信前に確認が行われますので注意をして下さい。