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

进行虚拟投递时,如何允许 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 的更新答案中的建议做了一些更改,并取得了一些进展;

现在我Recipient address rejected: User unknown in virtual alias table;发送到[电子邮件保护]

发送至[电子邮件保护]修改前后均有效

编辑三

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

編輯 IV:已更新至 postfix2.3.19没有运气。

編輯 V:这样做postconf -n表明recipient_delimiter拼写错误main.cf 以及以上并且分隔符根本没有被处理。

答案1

您当前的条目没有问题,您应该查看propagate_unmatched_extensions配置参数。检查它是否包含virtual

关于你的正则表达式不起作用,请参阅手册页虚拟(8)

虚拟(8)传送代理不允许在正则表达式查找表中使用正则表达式替换 $1 等,因为这会打开安全漏洞。

更新

我已经测试了您的配置,它对我来说是可行的。以下某个问题可能是原因:

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

附注:发送邮件至[电子邮件保护](没有 +delimiter)可以工作吗?

答案2

recipient_delimiter不是recipient_delimEter

答案3

出于安全预防措施,虚拟文件​​中不允许进行 $number 替换。http://www.postfix.org/PCRE_README.html

相关内容