私が働いている場所では、現在、メールに CentOS 6 上の Postfix/Dovecot を使用しています。将来的には、Windows Server 2012 上の Exchange 2013 に移行する予定です。私はこのタスクを担当しており、(当然ですが) 移行が可能な限りスムーズに進むことを望んでいます。
問題は、このような移行に関するドキュメントがあまりないということです。少なくとも、Exchange 2013 ではそうではありません。そうは言っても、いくつか質問があります。
現在のメール サーバーには、私たちが気に入っているスパム フィルターが搭載されているので、リレー ホストとしてそのまま使用したいと思っています。私の理解では、これを実現するには、main.cf に次の行を追加するだけで済みます。
relayhost = ExchangeServer.domain.com
次に、Exchange でメール サーバーを信頼できるサーバーとして追加します。これで正しいですか?
もう一つの質問は、すべてのユーザーのメールを保存する方法はありますか? 調査したところ、Exchange 2003と2007では可能でした。しかし、エンタープライズソリューションを購入せずにExchange 2013で直接実行できないようです。これは避けたいことです
。これimapsync が実行可能なオプションかもしれないという投稿。しかし、私の理解では、そのツールは Exchange では機能しません (また、有料のソリューションです)。
どのような助けでも大歓迎です。
答え1
Exchangeサーバを main.cf
as内にリストするrelayhost
だけでほぼ十分です。Postfixがアドレスクラス、relayhost
Postfix が受信メールの最終宛先であると判断すると (つまり、受信者のドメインが 内にあるなど)、 は使用されませmydestination
んvirtual_mailbox_domains
。
したがって、実際に行う必要があるのは、問題のドメインを に移動することですrelay_domains
(transport_maps
非標準のトランスポートを指定した があった場合は、このエントリも削除します)。
これで、1 つの問題が残ります。受信者が Exchange サーバーに実際に存在するかどうかを確認することです。AD/LDAP を照会できる場合は、設定するだけで問題ありませんrelay_recipient_maps
。そうでない場合は、受信者検証を使用する必要があります。example.com 宛のメールが Exchange サーバーに中継されると仮定します。
smtpd_restriction_classes = relay_verification
relay_verification = check_unverified_recipient
# if Postfix > 2.10, you can also do this in smtpd_relay_restrictions
smtpd_recipient_restrictions =
...
check_recipient_access hash:/etc/postfix/relay_verification
...
そして/etc/postfix/relay_verification
:
example.com relay_verification
質問の 2 番目の部分については、imapsync または同様のツールを使用してください。