postfix的群组是通过alias来实现的1,首先main.cf设置alias_mapvirtual_alias_maps = mysql:/etc/postfix/mysql_virtual_al
postfix的群组是通过alias来实现的
1,首先main.cf设置alias_map
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
2,alias_map从数据库中取得组成员
# vi /etc/postfix/mysql_virtual_alias_maps.cfhost = 127.0.0.1user = rootpassword = passwdhosts = localhostdbname = postfixquery = SELECT email FROM gorup WHERE concat(groupname,'@',domain)='%s'
gorup 的表结构大致如下
然后向组地址发送邮件测试吧。
那么问题来了,当群中只有一个地址时,可以正常接收,有超过1个地址时,postfix会提示 tatus=deferred (mail system configuration error)
maillog里面也有如下错误
warning: pipe flag `D' requires dovecot_destination_recipient_limit = 1
要求 dovecot_destination_recipient_limit = 1
看下main.cf配置
[root@webmail Maildir]# postconf |grep destination_recipient_limitdefault_destination_recipient_limit = 50dovecot_destination_recipient_limit = $default_destination_recipient_limit
设置的是50.我们改成1 postconf -e dovecot_destination_recipient_limit=1
postfix reload后flush队列发现成功。