【问题标题】:postfix-mysql regexp for partial catch-allpostfix-mysql 正则表达式,用于部分包罗万象
【发布时间】:2014-06-09 16:24:40
【问题描述】:

我只是想在我的 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 数据库具有更正的值。

【问题讨论】:

    标签: mysql regex postfix-mta


    【解决方案1】:

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

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

    [...] 是一个字符类,它的意思是“一个字符,一个在列表中的字符”。所以你需要允许使用+ 重复。

    【讨论】:

      猜你喜欢
      • 2013-01-13
      • 2018-12-09
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多