虚拟投递时,如何在postfix中允许电子邮件的扩展部分

目前我有一个/etc/postfix/virtual文件,具有如下条目:

 [email protected] [email protected] 

我希望能够将[email protected]转发到[email protected]

我该怎么做呢?

编辑:我确实设置

 propagate_unmatched_extensions = canonical, virtual 

 recipient_delimeter = + 

但仍然不断收到Recipient address rejected: User unknown in local recipient table;

编辑二 :我在@ Schot更新的答案中提出了一些改进build议,并取得了一些进展。

现在我得到Recipient address rejected: User unknown in virtual alias table; 发送到[email protected]

发送到[email protected]在他们之前和之后都进行了修改

编辑三

Postfix是2.3.3版本 – 我没有单独的mail.warnmail.err日志 – 只是/var/log/maillog 。 以下是完整的(匿名)片段:

编辑四 :更新到后缀2.3.19没有运气。

编辑V :执行postconf -n显示在main.cf 中以及上面的地址中recipient_delimiter拼写错误,分隔符根本没有处理。

您当前的条目是确定的,您应该查看propagate_unmatched_extensionsconfiguration参数。 检查它是否包含virtual

关于你的正则expression式不工作,请参阅虚拟手册页(8) :

在正则expression式查找表中,虚拟(8)递送代理不允许$ 1等的正则expression式replace,因为这会打开安全漏洞。

更新

我已经testing了你的configuration,它适合我。 也许下面的问题之一是:

  • 虚拟域(“foo.com”)在mydestination列出? 如果是,请删除它。
  • 虚拟域是否在virtual_alias_domains列出? 如果没有,添加它。

附注:发送邮件到[email protected](没有+分隔符)是否工作?

它的recipient_delimiter不是recipient_delimEter

作为安全防范,虚拟文件​​中不允许使用$ numberreplace。 http://www.postfix.org/PCRE_README.html