我正在使用postfix(Debian 6.0上的v2.7.1)创build一个电子邮件服务器,用户和组存储在LDAP服务器中。
用户帐户工作正常,但我想创build组的电子邮件别名(任何电子邮件发送到[email protected]将被发送到每个成员groupAbc组的电子邮件地址)。
我的组是posixGroup其成员通过memberUid属性列出:
dn: cn=groupAbc,ou=Groups,dc=domain,dc=tld objectClass: CourierMailAlias objectClass: posixGroup objectClass: top cn: groupAbc gidNumber: 1001 maildrop: [email protected] memberUid: john-doe memberUid: jane-doe
这是我的ldap-aliases.cf:
# cat /etc/postfix/ldap-aliases.cf server_host = 127.0.0.1 version = 3 bind = yes bind_dn = cn=ldap-reader,dc=domain,dc=tld bind_pw = SECRET search_base = dc=domain,dc=tld query_filter = (&(objectClass=posixGroup)(mail=%s)) result_attribute = mail special_result_attribute = memberUid leaf_result_attribute = mail
当我尝试发送电子邮件时,系统日志中出现以下错误:
... postfix/cleanup[6601]: warning: dict_ldap_get_values[1]: search error 34: Invalid DN syntax ... postfix/cleanup[6601]: warning: dict_ldap_lookup: Had some trouble with entries returned by search: Invalid DN syntax ... postfix/cleanup[6601]: warning: 40ACF12106E: virtual_alias_maps map lookup problem for [email protected]
Postfix除了使用special_result_attribute参数定义的属性之外还有一个DN。 如果将memberUid从“ john-doe ”更改为“ uid = john-doe,ou = Users,dc = domain,dc = tld ”,则发送到“[email protected]”的电子邮件将发送给john-doe电子邮件地址。
我正在寻找一种方法来使Postfix做一个存储在memberUid属性中的UID的LDAPsearch。 我知道这是可能的Zarafa的后缀味( http://doc.zarafa.com/7.0/Administrator_Manual/pt-BR/html/_ConfigureOpenLDAP.html )与选项ldap_groupmembers_attribute , ldap_groupmembers_attribute_type和ldap_groupmembers_relation_attribute但无法find如何做到这一点在标准的Postfix上。
你的LDAPconfiguration是错误的。 请用:
server_host = 127.0.0.1 version = 3 bind = no query_filter = (&(objectClass=posixGroup)(maildrop=%s)) result_attribute = memberUid, mail
你不能在这里使用“bind = yes” – 这是行不通的。 没有组可以/应该绑定(validation)。