web-dev-qa-db-ja.com

メールアドレスに基づいて特定のMTAに転送するにはどうすればよいですか?

受信者の電子メールアドレスのユーザー名部分に基づいて、受信メッセージを特定のMTAに転送するにはどうすればよいですか?私はLinuxベースのソフトウェアを好みますが、Windowsも機能します。

背景:
私たちの組織は、ISPがホストするPOP3メールからMicrosoft Business Productivity Online Services(Exchange Online)に移行しています。共存を機能させて、一部のユーザーが新しいシステムを使用し、他のユーザーが引き続き使用できるようにするとよいでしょう。レガシーシステム。各ユーザーが新しいシステムに移行されると、他のユーザーやDNSの伝播に関係なく、メールが適切なサーバーにリダイレクトされる可能性があります。

このシステムは機能しますか?シナリオにより適した他の移行スキームはありますか?

編集1
現在のISPはPostfixとDovecotを実行しています。これらは、選択した電子メールアドレスにのみ電子メール転送を設定する機能を提供します。サーバーは引き続きMXレコードを配信に使用するため、これは実際には役に立ちません。これはバイパスしたいものです。

2
Nic

Postfixは、トランスポートテーブルを使用して、受信者のユーザー名に基づいて異なるサーバーに転送する機能を提供します。これらのテーブルは、テキストファイルまたはデータベースに保存できます。例えば:

[email protected] smtp:legacymail.example.com:25  
[email protected] smtp:newmail.example.com:25

出典: http://www.postfix.org/transport.5.html

ユーザーごとのトランスポートテーブルを使用して、スムーズな段階的移行を可能にすることができます。

  1. すべてのユーザーのメールを既存のISPに転送するPostfixサーバーを設定します
  2. MXレコードがPostfixサーバーを指すようにDNSを更新します
  3. DNSが伝播するのを待ちます。
  4. トランスポートテーブルを編集して、数人のユーザーのメールが新しいサーバーに配信されるようにします
  5. そのバッチのユーザーのコンピューターの設定を更新する
  6. すべてのユーザーが移行されるまで、手順4〜5を繰り返します。
  7. MXレコードが新しいメールサーバーを指すようにDNSを更新します
  8. トラフィックが停止したらpostfixサーバーをシャットダウンします

レガシーPOP3システムを引き続き使用しているすべてのユーザーは、そのサーバーが同じドメイン内のユーザーに対してMXルックアップを実行している限り、SMTP設定を保持できます。発信サーバーがドメインに対して権限を持っている場合は機能しません。メッセージはExchangeServerのメールボックスに配信されるため、ExchangeServerのユーザーがレガシーシステムのユーザーにメッセージを送信できない可能性があります。

これをシステム管理者にとってさらに便利にするために、PostfixをMySQLデータベースおよびWebアプリケーションと統合して、ユーザーのバッチに対してメール配信を切り替えることができます。

3
Nic

http://www.postfix.org/STANDARD_CONFIGURATION_README.html#some_local いくつかの提案があります。

内部Postfixを設定した場合、transport_mapsを介して適切なホストにメールを送信できます。 Exchangeへのプルは、新しいPostfixサーバー上のドメインに転送してからExchangeに適切にリダイレクトすることで実行できます。

1
Devdas

あなたが探しているのは転送メカニズムです。 ISPが提供するPOPシステムには、実際には何を使用しているかにもよりますが、この種の基盤がすでにある可能性があります。メールルールを設定したり、.forward(ドットフォワード)などを使用したりできる場合は、新しいシステムに配置するメールボックスにルールを設定できます。

または、Exchange Onlineですべてを切り取り、Outlook/Exchangeルールを使用して古いISPアドレスにメールを転送することもできます。これは設定が非常に簡単です。重要なのは、MXレコードを移動するときに、メソッドを交換する必要があることです。 POP側で転送を停止し、Exchange側で転送を開始します。

0
sysadmin1138