![使用 Linux/Dovecot 设置可扩展多服务器电子邮件](https://linux22.com/image/644329/%E4%BD%BF%E7%94%A8%20Linux%2FDovecot%20%E8%AE%BE%E7%BD%AE%E5%8F%AF%E6%89%A9%E5%B1%95%E5%A4%9A%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6.png)
我的一位客户要求我建立一个多服务器、可扩展的电子邮件系统。
我可以配置多个服务器来发送电子邮件。通过使用基于 PHP Mysql 的登录脚本,用户将被重定向到带有登录 cookie 的每个电子邮件服务器。Domain SPF 拥有所有这些服务器,因此它可以毫无问题地发送电子邮件。(所有服务器都使用单个域名)
但问题是,当它接收电子邮件时,MX 记录只能将电子邮件转发到单个服务器。有没有办法将电子邮件转发到选定的服务器?
或者有其他方法可以实现这一点?
我将使用 Ubuntu/Debian Postfix、Dovecot 和 roundcube。
提前感谢您的任何回答。
注意 - 我认为postfix
的传输图是可行的方法。但我不确定如何配置数据库和基于本地部分的中继路由。
答案1
使用分布式存储(如http://ceph.com/) 您也可以在备份 MX 上发送电子邮件。在这种情况下,所有邮件服务器都具有相同的配置,并且只共享 maildir 的公共存储。
拥有一个共享的用户数据库也会非常方便,就像 Kondybas 提到的那样,DBMS 可以解决这个问题。
答案2
因为您存储了登录名和用户绑定到的确切服务器之间的链接,并且可能将其存储在 mysql 等 DBMS 中,所以您可以在接收时检查主 MX 上的链接,并将消息路由到相应的服务器。如果将登录名用作本地部分,确实如此。
UPD。如果您可以在前端 MX 上取消 localpart 别名,则 localpart 不限于登录。