使用mysql在postfix中配置所有别名 [英] configure catch-all alias in postfix using mysql

查看:170
本文介绍了使用mysql在postfix中配置所有别名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

似乎我的全部别名都无效. 当我使用

It seems like my catch-all alias doesn't work. When I use

postmap -q test@example.org mysql:/etc/postfix/mysql-virtual-alias-maps.cf

没有输出. 但是当我命令时

There is no output. But when I command

 postmap -q jack@example.org mysql:/etc/postfix/mysql-virtual-alias-maps.cf

输出为

 john@example.org. 

我该如何解决?

配置查询为:

query= SELECT destination FROM virtual_aliases WHERE source='%s'

表virtual_aliases:

Table virtual_aliases:

id  domain_id   source             destination
5   1           @example.org        john@example.org
7   1           john@example.org    john@example.org
8   1           jack@example.org    john@example.org

表virtual_domains:

Table virtual_domains:

id  name
1   example.org

表virtual_users:

Table virtual_users:

id  domain_id   password    email
1   1           pwd         john@example.org

推荐答案

您的mysql查询应为

SELECT destination FROM virtual_aliases WHERE source='%s' 
UNION ALL  
SELECT destination FROM virtual_aliases WHERE source='@%d' 
AND NOT EXISTS (SELECT destination FROM virtual_aliases WHERE source='%s')

这篇关于使用mysql在postfix中配置所有别名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆