外部地址的别名与mydestinations中的catchall混合在一起

我有一个邮件服务器,接受来自任何域的电子邮件。 这是通过在Postfix的main.cf使用以下行来完成的:

 mydestination = regexp:/etc/postfix/mydestinations.reg 

mydestinations.reg看起来像这样:

 /^.*/ OK 

现在,我想将电子邮件转发给特定的用户(例如admin )到一个外部电子邮件地址。 我将下面一行添加到/etc/aliases

 admin: [email protected] 

在运行新邮件并向admin发送电子邮件后,符合规则,但Postfix尝试在本地而不是远程传递电子邮件。 这导致Postfix日志中的以下错误信息:

 status=bounced (unknown user: "email") 

我的猜测是,Postfix假设externaldomain.com在目的地,因为它被configuration为接受任何域名。

现在我的问题: 我怎么能告诉Postfix转发电子邮件到外部域,同时保持catchall mydestination完好?
附注:我想尽可能避免使用虚拟别名

我的猜测是,Postfix假设externaldomain.com在目的地,因为它被configuration为接受任何域名。

是的,这是真的

现在我的问题:我怎么能告诉Postfix转发电子邮件到外部域,同时保持catchall mydestination完好?

要覆盖来自postfix的下一跳查找,您需要在transport_maps 为每个在别名中使用的外部地址定义条目。

 # main.cf transport_maps = hash:/etc/postfix/externaladdr # /etc/postfix/externaladdr [email protected] smtp:externaldomain.com 

有了这个条目smtp:externaldomain.com ,postfix将尝试发送带有smtp传输的邮件到externaldomain.com的邮件服务器。