在CentOS 6.4上运行Postfix 2.6.6。 我在Active Directory中configuration了虚拟用户查找。 将邮件发送到单个地址时,邮件会正确传送给虚拟用户的Maildir。 然而,不止一个收件人会将文件写入到vmail用户的主目录中,并将收件人列表作为文件名。
这是我的main.cf:
virtual_mailbox_domains = $mydomain virtual_mailbox_base = /home/vmail virtual_mailbox_maps = ldap:/etc/postfix/ldap-users.cf,ldap:/etc/postfix/ldap-groups.cf virtual_uid_maps = static:75003 virtual_gid_maps = static:75003
ldap-users.cf:
server_host = mailhost.example.com search_base = cn=Users,dc=example,dc=com version = 3 query_filter = (&(objectclass=person)(mail=%s)) result_attribute = samaccountname result_format = %s/Maildir/
邮政地图查询结果:
postmap -q [email protected] ldap:/etc/postfix/ldap-users.cf usera/Maildir
ldap-groups.cf
server_host = mailhost.example.com search_base = ou=Test,dc=example,dc=com version = 3 query_filter = (&(objectclass=group)(mail=%s)) leaf_result_attribute = samaccountname special_result_attribute = member result_format = %s/Maildir/
邮政地图查询结果:
postmap -q [email protected] ldap:/etc/postfix/ldap-groups.cf usera/Maildir/,userb/Maildir/,userc/Maildir/
当我将邮件发送到[email protected]时,邮件被正确地发送到/home/vmail/usera/Maildir/new但是当我发送邮件到[email protected]时,邮件正文被写在第一个收件人的Maildir /home/vmail/usera/Maildir是这样的:
drwx------. 3 vmail vmail 8192 May 21 13:01 ,userb drwx------. 3 vmail vmail 8192 May 21 12:58 ,userc drwx------. 2 vmail vmail 8192 Jun 3 10:32 cur
maillog揭示了这一点:
Jun 3 11:09:02 mailhost postfix/virtual[13081]: mail_addr_find: [email protected] -> usera/Maildir/,userb/Maildir/,userc/Maildir/ Jun 3 11:09:02 mailhost postfix/virtual[13081]: deliver_mailbox[2]: set user _attr: /home/vmail/usera/Maildir/,userb/Maildir/,userc/Maildir/, uid = 75003, gid = 75003
main.cf中的virtual_mailbox_base指令仅应用于第一个收件人。 我猜这是一个问题,但即使这不是为什么第二个和第三个收件人的邮件在第一个收件人的Maildir下交付?
提前感谢有关如何解决这个问题的任何build议。
我所缺less的是ldap:/etc/postfix/ldap-groups.cf需要分配给/etc/postfix/main.cf的virtual_alias_maps ,而不是针对virtual_mailbox_maps
修正/etc/postfix/main.cf :
# Active Directory/LDAP virtual user info virtual_mailbox_domains = $mydomain virtual_mailbox_base = /home/vmail virtual_mailbox_maps = ldap:/etc/postfix/ldap-users.cf virtual_alias_maps = ldap:/etc/postfix/ldap-groups.cf virtual_uid_maps = static:75003 virtual_gid_maps = static:75003
和更正/etc/postfix/ldap-groups.cf :
server_host = mailhost.example.com search_base = ou=Test,dc=example,dc=com version = 3 query_filter = (&(objectclass=group)(mail=%s)) leaf_result_attribute = mail special_result_attribute = member