我只是想在我的 Postfix-mysql 配置上制作一个部分包罗万象的电子邮件。 我认为正则表达式有问题。
我想把所有notify-*@domain.com都发给notify@domain.com
我使用以下电子邮件请求(字母和数字均有效):
notify-([a-zA-Z0-9])@domain.com
但每次,Postfix 都会告诉我虚拟邮箱表中的用户未知。
这是我的 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_virtual_alias_maps_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'
我认为问题出在电子邮件正则表达式中,而不是日志文件中的错误,并且 mysql 数据库具有更正的值。
最佳答案
我肯定完全理解你的问题,但如果你想选择以 notify-
开头,后跟任意数量的字母/数字的电子邮件,你需要使用:
notify-[a-zA-Z0-9]+@domain.com
[...]
是一个字符类,它表示“一个字符,一个在列表中的字符”。因此,您需要使用 +
允许重复。
关于mysql - 用于部分包罗万象的 postfix-mysql 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23267975/