Postfix – 将邮件发送到两台独立服务器上的相同地址

目前,我们正在将我们的企业电子邮件服务器(Postfix / Cyrus,OpenLDAP后端)从一个盒子迁移到另一个盒子外。 在我做完全切换之前,我希望能够把我们的一个或两个最高音量(也是最响的抱怨)移到第一位,因为如果在我的configuration和testing中有任何问题漏掉,他们会一定要让我知道。

所有的传输映射当前都存储在ldap中。 我创build了一个单独的,可散列的传输图,并configuration了Postfix来使用它,如下所示:

transport_maps = hash:/etc/postfix/oldmail_transport,ldap:trans 

在/ etc / postfix / oldmail_transport中,我有:

 [email protected] :[newmailserver.domain.com] [email protected] :[newmailserver.domain.com] 

domain.com存在于两台服务器上的virtual_alias_domains中。

问题是,这是行不通的。 旧的邮件服务器看到[email protected]是一个本地地址,将邮件传递给它,并在那里结束。 看起来,使传输地图工作的唯一方法是从旧服务器上的virtual_alias_domains中删除domain.com,这当然会将传送到该域上的所有其他用户。

我正确使用transport_maps吗? 是否有另一种方法,我应该使用后缀做我想要的?

在此先感谢您的帮助!

我可以提出另一种方法吗?

对于POP / IMAP连接处理,请使用Perdition 。 它将POP / IMAPstream量以透明的方式代理给最终用户。 后端服务器查找,并从LDAP,文本文件或您想要使用的其他方法。 所以,用Perdition,你可以从旧的新服务器一个接一个地移植你的用户,甚至没有他们的注意。 只需创build一个脚本,将邮件从旧服务器迁移到新服务器,然后更新LDAP /文本文件/无论如何告诉用户刚刚迁移的毁灭。

过去,我使用这种方法迁移了5万至10万个用户帐户之间的东西,没有明显的用户停机时间。

对于SMTP,邮件服务器查找很简单,您似乎已经通过LDAP执行这些查询。 🙂

这个问题已经出现了,而且你也遇到了同样的问题:如果你把两个邮件服务器configuration为一个域的权威,那么就没有一个真正的无缝的方法来让其中一个发送邮件给“本身”到另一台服务器。

你最好的select可能是用新服务器上的临时域名进行testing。 如果你想让你的大量用户做一些testing,发送他们的消息副本到新的服务器。