我工作的地方目前在 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
main.cf
列出您的 Exchange 服务器 relayhost
几乎就足够了:由于 Postfix 处理地址类别relayhost
,当 Postfix 认为它是收到邮件的最终目的地时(即收件人域在内mydestination
,virtual_mailbox_domains
等等),将永远不会使用。
因此,您需要做的实际上是将有问题的域移动到relay_domains
(如果您transport_maps
为其指定了非标准传输,也请删除此条目)。
这只给您留下一个问题:验证收件人是否确实存在于 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
对于问题的第二部分,请坚持使用 imapsync 或类似工具。