在virtual_alias_maps中匹配本地收件人

我想通过在virtual_alias_maps文件中指定一个地址来redirect所有本地邮件。

可以使用正则expression式匹配收件人,但这太复杂了。 他们可以:

  • 没有域( root等)
  • root@localhost
  • root@myserver

这里: http : /.+@.+\.localdomain/他们尝试匹配/.+@.+\.localdomain/ ,这当然是行不通的。

后缀已经有$mydestinationconfiguration参数。 我能以某种方式匹配吗?

更新:尝试local_transport = virtual: ,但虚拟不能转发。

也许一个全球性的.forward文件将有所帮助?

不要使用virtual_alias_maps ,而应使用alias_maps

  • 参数virtual_alias_maps匹配所有的地址类
  • 参数alias_maps只匹配本地地址类,即在mydestination参数中定义的地址

有关更多信息,请参阅Address Class自述文件 。


所以, alias_maps的参数会变成

 #main.cf alias_maps = pcre:/etc/postfix/catch-my-local #/etc/postfix/catch-my-local /.+/ [email protected] 

或者,您可以在main.cf放置forward_path = /etc/postfix/global-forward 。 基本上,你覆盖每个用户的.forward文件的path。

/etc/postfix/global-forward只是放

 [email protected] 

不需要指定左侧的映射。

贷款给OP这个解决方法。