postfix mysql regexp用于部分捕获全部

postfix mysql regexp用于部分捕获全部,mysql,regex,postfix-mta,Mysql,Regex,Postfix Mta,我只是想在我的Postfix mysql配置上创建一个部分捕获所有电子邮件。 我想在regexp上有问题 我想将所有notify-*@domain.com发送到notify@domain.com 我使用以下电子邮件请求(字母和数字有效): 但Postfix总是告诉我虚拟邮箱表中的用户未知 这是我的后缀配置 virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/mysql_vi

我只是想在我的Postfix mysql配置上创建一个部分捕获所有电子邮件。 我想在regexp上有问题

我想将所有notify-*@domain.com发送到notify@domain.com

我使用以下电子邮件请求(字母和数字有效):

但Postfix总是告诉我虚拟邮箱表中的用户未知

这是我的后缀配置

virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf,
mysql:/etc/postfix/mysql_virtual_alias_maps_regexp.cf,
mysql:/etc/postfix/mysql_alias_domain_maps.cf
/etc/postfix/mysql\u virtual\u alias\u maps\u regexp.cf

user = postfixadmin
password = XXXXXXXXXXXX
hosts = 127.0.0.1
dbname = postfixadmin
query = SELECT goto FROM alias WHERE '%s' REGEXP CONCAT('^',address,'$') AND     SUBSTRING(address,1,1) != '@' AND x_regexp = '1'

我认为问题出在电子邮件regexp中,原因不是日志文件中有错误,mysql数据库中有正确的值。

我不确定是否完全理解您的问题,但是如果您想选择以
notify-
开头的电子邮件,后跟任意数量的字母/数字,您需要使用:

notify-[a-zA-Z0-9]+@domain.com
[…]
是一个字符类,它表示“一个字符,一个在列表中”。因此,您需要允许重复使用
+

notify-[a-zA-Z0-9]+@domain.com