我有登录表的ldap表
ldapsearch -x -h ldap.server-b 'ou=mail,ou=Groups,dc=my,dc=org' '(&(cn=mailFullAccess)(memberUid=username))'
输出
dn: cn=mailFullAccess,ou=mail,ou=Groups,dc=my,dc=org
gidNumber: 5555
memberUid: fred
memberUid: bob
memberUid: username
cn: mailFullAccess
创建LDAP表
search_base = ou=mail,ou=Groups,dc=my,dc=org
server_host = ldap.server
query_filter = (&(cn=mailFullAccess)(memberUid=%u))
result_attribute = memberUid
result_format = %u internal_hosts_class
scope = sub
bind = yes
尝试使用命令检查
postmap -q username ldap:./mailFullAccess_check.cf
产生结果
fred internal_hosts_class, bob internal_hosts_class, username internal_hosts_class
找到1场比赛。
和本地域名文件列表(local_urls.db)
mydomain1.ru OK
mydomain2.ru OK
mydomain3.ru OK
我想'用户名'只能向本地域发送电子邮件
我在main.cf中写道。 SMTP auth(来自LDAP的saslauthd)工作正常。
...
smtpd_recipient_restrictions =
permit_sasl_authenticated
reject
...
smtpd_restriction_classes = internal_hosts_class
internal_hosts_class = check_recipient_access hash:/etc/postfix/border/local_urls, reject
smtpd_sender_restrictions = check_sender_access ldap:/etc/postfix/border/mailFullAccess_check.cf
...
后缀重启,发送电子邮件并收到错误
Feb 3 11:30:53 email postfix/smtpd[10546]: warning: unknown smtpd restriction: "fred"
答案 0 :(得分:1)
你的postmap命令
postmap -q username ldap:./mailFullAccess_check.cf
只需返回internal_hosts_class
字符串。这就是为什么postfix抱怨错误未知的smtpd限制。
解决方案是修改mailFullAccess_check.cf
,特别是 result_format
result_format = internal_hosts_class