Postfix —将邮件传递到两个单独的服务器上的相同地址


2

我们目前正在将公司电子邮件服务器(Postfix / Cyrus,带有OpenLDAP后端)从一个盒子迁移到另一个位于异地的盒子。在进行全面转换之前,我希望首先迁移一个或两个最大容量的(也是最大声的抱怨),因为如果在我的配置和测试中遗漏了任何问题,它们将一定要让我知道。

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

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

在/ etc / postfix / oldmail_transport中,我得到了:

user1@domain.com :[newmailserver.domain.com]
user2@domain.com :[newmailserver.domain.com]

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

问题是,这不起作用。旧的邮件服务器看到user1@domain.com是本地地址,向其发送邮件,然后在此结束工作。看来,使传输映射起作用的唯一方法是从旧服务器上的virtual_alias_domains中删除domain.com,这当然会中断向该域上所有其他用户的传递。

我在这里正确使用transport_maps吗?我应该使用另一种方法来使postfix满足我的要求吗?

在此先感谢您的帮助!

Answers:


4

我可以建议另一种方法吗?

对于POP / IMAP连接处理,请使用Perdition。它对最终用户透明地将POP / IMAP通信代理到正确的服务器。后端服务器查找可以通过LDAP,文本文件或您要使用的其他方法进行。因此,借助Perdition,您可以将用户从旧的新服务器中逐一迁移,而无需引起他们的注意。只需创建一个脚本即可将邮件从旧服务器迁移到新服务器,然后更新LDAP /文本文件/任何内容以告诉Perdition用户刚刚被迁移。

过去,我已经使用这种方法在50000-100000个用户帐户之间进行了迁移,对于用户而言,没有明显的停机时间。

对于SMTP,邮件服务器查找很简单,您似乎已经通过LDAP执行了查找。:)


哦,哇 我不敢相信我之前从未尝试过Perdition。完全按照您的描述,花了我大约10分钟时间来安装,配置并正常工作。我四处摸索,但找不到您想要在其上运行生产分发服务器的硬件的明确建议,但是...我无法处理将近50,000个用户,但使用哪种设备你在用那个吗?我可以从那里缩小规模。谢谢!
user122812'5

这是在2003年至2008年之间。两台Pentium 4 Xeon服务器,每台服务器具有1 GB RAM。通过成千上万的同时连接,Perdition几乎不消耗任何CPU,仅吃了数十MB的RAM。我见过的最令人愉悦的软件之一。
Janne Pikkarainen,2012年

4

这个问题之前已经提出过,并且您每次都遇到相同的问题:如果将两个邮件服务器配置为对某个域具有权威性,则没有一种真正无缝的方法来让其中一个发送电子邮件到“自己”发送到另一台服务器。

最好的选择可能是使用新服务器上的临时域名进行测试。如果您希望繁重的用户进行某些测试,请将其消息的副本发送到新服务器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.