Postfix LDAP 别名 - 用户未知

Postfix LDAP 别名 - 用户未知

我有具有 LDAP(ActiveDirectory)授权的服务器 POSTFIX + DOVECOT。

/etc/postfix/ldap_virtual_mailbox_maps.cf

query_filter = (&(objectClass=person)(mail=%s))
result_filter = %s
result_attribute = mail

/etc/postfix/ldap_virtual_alias_maps.cf

query_filter = (&(objectClass=person)(othermailbox=%s))
result_attribute = othermailbox

/etc/dovecot/dovecot-ldap.conf.ext

pass_filter = (&(objectCategory=Person)(sAMAccountName=%n))
user_filter = (&(objectCategory=Person)(sAMAccountName=%n))

属性“mail”中指定的电子邮件有效(用户可以发送和接收消息)。我在属性“othermailbox”中指定了一个别名(例如 -[电子邮件保护])。

    # postmap -q [email protected] ldap:/etc/postfix/ldap_virtual_alias_maps.cf
    [email protected]

当我向该地址发送电子邮件时([电子邮件保护])然后收到“未送达的邮件退回给发件人”

邮件系统[电子邮件保护]: 用户未知

我做错了什么? 我将非常感激您的评论。

答案1

我猜测result_attribute你的意思是ldap_virtual_alias_maps.cf不是你的意思配置。虚拟别名映射仅返回查找键本身的结果并不是很有用(该功能旨在将一个地址别名为其他地址)。

通常情况下,抬头经过附加地址(你的领域othermailbox),但它仍然返回主要地址(你的领域mail)。你可能需要类似的东西。

# lookup by othermailbox
query_filter = (&(objectClass=person)(othermailbox=%s))
# but return primary address
result_attribute = mail

如果您告诉 Postfix 这[email protected]是 .. 的别名[email protected],这并没有告诉 Postfix 邮件应该发往何处。因为(未更改的)目的地[email protected]仍然不是已知用户。

相关内容