有没有办法将 Postfix 配置为接受域的任何邮件(包罗万象),然后将该电子邮件转发给不同域的同一收件人,不知道收件人是否实际存在?
我将 Postfix 与 MySQL 支持用于虚拟帐户。
不,这不是直接可能的。在http://www.postfix.org/ADDRESS_REWRITING_README.html#luser_relay 中描述了它如何工作的一个例外
另一个粗略的解决方案是使用 SQL (substr + concat) 在virtual_alias_maps
.
编辑:哦。还有最后一种可能。使用策略委托机制并返回REDIRECT localpart@other-domain.example
您需要的地方,DUNNO
如果您不想重写。
编辑 2:受 Squidly 的启发(但他的解决方案不起作用!)您可以设置
virtual_alias_maps = pcre:/etc/postfix/forward_user.pcre, ...
Run Code Online (Sandbox Code Playgroud)
并在该文件中放入
/^(.*)@adomain\.example/ $(1)@other-domain.example
Run Code Online (Sandbox Code Playgroud)
(注意第一列中的转义点 (\.)。)我个人更喜欢这个版本。
Squ*_*dly -1
根据您设置 Postfix 的方式,您也许能够使用别名来转发所有邮件。
编辑
您还可以设置一个重定向,这将很容易地为您完成。
在 /etc/postfix/main.cf 中添加以下内容:
recipient_bcc_maps = pcre:/etc/postfix/forward_bcc.pcre
Run Code Online (Sandbox Code Playgroud)
然后在 /etc/postfix/forward_bcc.pcre 中添加以下内容:
/^user@olddomain.com/ user@newdomain.com
Run Code Online (Sandbox Code Playgroud)
这有点像黑客,但它可以将特定用户从一个域转发到另一个域。
您可能还想查看此页面,了解如何在 Postfix 自身中进行一些重写。