2 msgpostmap header_checks error
10 msgmailbox_command (dovecot lda) stopped working, ...
5 msgmynetworks via LDAP lookup

Local recipient table in LDAP problem
\ Aleksandar Vukovic (24 Jan 2008)
. \ Reinaldo Carvalho (24 Jan 2008)
. . \ Victor Duchovni (24 Jan 2008)
. \ Victor Duchovni (24 Jan 2008)
. \ Aleksandar Vukovic (25 Jan 2008)
. . \ Reinaldo Carvalho (25 Jan 2008)
. \ Aleksandar Vukovic (25 Jan 2008)

2 msgproxy_read_maps
1 msgsmtpd_restriction_class and it's lookup
8 msgMessage Rejected
12 msgCustomize to filter attachment ?
2 msgRelay question
14 msgunnecessary routing?
4 msgdo not use 'reject_maps_rbl'?
9 msgFwd: Postfix in OpenVZ.
2 msgbypass body_checks for local mail?
4 msgcatchall with relay_recipient_maps
4 msg'Name server failure' is output
3 msgsmtp_sasl_password_maps lookups
16 msgPostfix Queues on a Ram Disk
15 msgsendmail compared to smtp sending
3 msgPostfix does not recognize remote emails
2 msgHow to disable SSLv2 on smtpd opportunistic TLS?
Subject:Local recipient table in LDAP problem
Group:Postfix-users
From:Aleksandar Vukovic
Date:24 Jan 2008


 

Hi all,

I'm trying to make a postfix & ldap database combination so that all
mailboxes are owned by one system user and postfix smtpd daemon should
lookup from LDAP for local recipient table and location of mailboxes
upon receiving mail. Delivering is done by dovecot and it worked ok
while acctual users were in /etc/passwd, but when I removed them
form /etc/passwd and expected lookup from ldap i got 'unknown user:
"username"' error. Is this kind of setup possible at all because mailbox
locations also need to be read from LDAP (I'm not sure :)? There are no
virtual domains here, everything is for localdomain, but maybe this is
done by some kind of virtual users setup? Here is how i tried to make it work.
I replaced private things with bogus, but its clean enough.

This is my postconf -n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap.cf
append_dot_mydomain = no
biff = no
body_checks_size_limit = 10485760
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
home_mailbox = .maildir/
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
local_recipient_maps = $alias_maps
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 0
message_size_limit = 10485760
mydestination = mail.mydomain.com, localhost.mydomain.com, localhost , mydomain.com
myhostname = mail.mydomain.com
mynetworks = 127.0.0.0/8,
myorigin = /etc/mailname
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relayhost =
smtpd_banner = $myhostname ESMTP $mail_name (Linux Almighty)
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_destination, permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_tls_auth_only = no

/etc/postfix/ldap.cf:

server_host = ldap-server...
search_base = ldap-base...
query_filter = (mail=%s)
#query_filter = (&(mail=%s)(uid=%u))
domain = mydomain.com
result_attribute = mail
#result_format = %u
version = 3

My guess is that changes are needed here. I have mail attribute containing real email address for every user in LDAP so with this setup when I try :

postmap -q user ldap:/etc/postfix/ldap.cf

response is :

user

and when I try only username for query i get nothing. I dont really know what response should acctualy be there, maybe mailbox location?

Here is verbose mail.log while trying to send a message from user to the same address:

Jan 24 12:04:47 mail postfix/smtpd[4123]: dict_ldap_connect: Connecting to server ldap://ldap.myserver:389
Jan 24 12:04:47 mail postfix/smtpd[4123]: dict_ldap_connect: Actual Protocol version used is 3.
Jan 24 12:04:47 mail postfix/smtpd[4123]: dict_ldap_connect: Binding to server ldap://ldap.myserver:389 as dn
Jan 24 12:04:47 mail postfix/smtpd[4123]: dict_ldap_connect: Successful bind to server ldap://ldap.myserver:389 as
Jan 24 12:04:47 mail postfix/smtpd[4123]: dict_ldap_connect: Cached connection handle for LDAP source /etc/postfix/ldap.cf
Jan 24 12:04:47 mail postfix/smtpd[4123]: dict_ldap_lookup: /etc/postfix/ldap.cf: Searching with filter (mail=vualeks)
Jan 24 12:04:47 mail postfix/smtpd[4123]: dict_ldap_get_values[1]: Search found 1 match(es)
Jan 24 12:04:47 mail postfix/smtpd[4123]: dict_ldap_get_values[1]: search returned 1 value(s) for requested result attribute mail
Jan 24 12:04:47 mail postfix/smtpd[4123]: dict_ldap_get_values[1]: Leaving dict_ldap_get_values
Jan 24 12:04:47 mail postfix/smtpd[4123]: dict_ldap_lookup: Search returned vualeks
Jan 24 12:04:47 mail postfix/smtpd[4123]: maps_find: local_recipient_maps: ldap:/etc/postfix/ldap.cf(0,lock|fold_fix): vualeks = vualeks
Jan 24 12:04:47 mail postfix/smtpd[4123]: mail_addr_find: vualeks -> vualeks
Jan 24 12:04:47 mail postfix/smtpd[4123]: smtpd_check_rewrite: trying: permit_inet_interfaces
Jan 24 12:04:47 mail postfix/smtpd[4123]: permit_inet_interfaces: localhost 127.0.0.1
Jan 24 12:04:47 mail postfix/smtpd[4123]: before input_transp_cleanup: cleanup flags = enable_header_body_filter enable_automatic_bcc enable_address_mapping enable_milters
Jan 24 12:04:47 mail postfix/smtpd[4123]: after input_transp_cleanup: cleanup flags = enable_header_body_filter enable_automatic_bcc enable_address_mapping
Jan 24 12:04:47 mail postfix/smtpd[4123]: connect to subsystem public/cleanup
Jan 24 12:04:47 mail postfix/smtpd[4123]: public/cleanup socket: wanted attribute: queue_id
Jan 24 12:04:47 mail postfix/smtpd[4123]: input attribute name: queue_id
Jan 24 12:04:47 mail postfix/smtpd[4123]: input attribute value: 31C544C354
Jan 24 12:04:47 mail postfix/smtpd[4123]: public/cleanup socket: wanted attribute: (list terminator)
Jan 24 12:04:47 mail postfix/smtpd[4123]: input attribute name: (end)
Jan 24 12:04:47 mail postfix/smtpd[4123]: send attr flags = 50
Jan 24 12:04:47 mail postfix/smtpd[4123]: 31C544C354: client=localhost[127.0.0.1]
Jan 24 12:04:47 mail postfix/smtpd[4123]: > localhost[127.0.0.1]: 250 2.1.5 Ok
Jan 24 12:04:47 mail postfix/smtpd[4123]: < localhost[127.0.0.1]: DATA
Jan 24 12:04:47 mail postfix/smtpd[4123]: > localhost[127.0.0.1]: 354 End data with <CR><LF>.<CR><LF>
Jan 24 12:04:47 mail postfix/cleanup[4125]: 31C544C354: message-id=<1465.............1201172687.squirrel>
Jan 24 12:04:47 mail postfix/qmgr[4122]: 31C544C354: from=<vualeks>, size=754, nrcpt=1 (queue active)
Jan 24 12:04:47 mail postfix/smtpd[4123]: public/cleanup socket: wanted attribute: status
Jan 24 12:04:47 mail postfix/smtpd[4123]: input attribute name: status
Jan 24 12:04:47 mail postfix/smtpd[4123]: input attribute value: 0
Jan 24 12:04:47 mail postfix/smtpd[4123]: public/cleanup socket: wanted attribute: reason
Jan 24 12:04:47 mail postfix/smtpd[4123]: input attribute name: reason
Jan 24 12:04:47 mail postfix/smtpd[4123]: input attribute value: (end)
Jan 24 12:04:47 mail postfix/smtpd[4123]: public/cleanup socket: wanted attribute: (list terminator)
Jan 24 12:04:47 mail postfix/smtpd[4123]: input attribute name: (end)
Jan 24 12:04:47 mail postfix/smtpd[4123]: > localhost[127.0.0.1]: 250 2.0.0 Ok: queued as 31C544C354
Jan 24 12:04:47 mail postfix/smtpd[4123]: < localhost[127.0.0.1]: QUIT
Jan 24 12:04:47 mail postfix/smtpd[4123]: > localhost[127.0.0.1]: 221 2.0.0 Bye
Jan 24 12:04:47 mail postfix/smtpd[4123]: match_hostname: localhost ~? 127.0.0.0/8
Jan 24 12:04:47 mail postfix/smtpd[4123]: match_hostaddr: 127.0.0.1 ~? 127.0.0.0/8
Jan 24 12:04:47 mail postfix/smtpd[4123]: disconnect from localhost[127.0.0.1]
Jan 24 12:04:47 mail postfix/smtpd[4123]: master_notify: status 1
Jan 24 12:04:47 mail postfix/smtpd[4123]: connection closed
Jan 24 12:04:47 mail postfix/local[4127]: 31C544C354: to=<vualeks>, relay=local, delay=0.16, delays=0.09/0.01/0/0.07, dsn=5.1.1, status=bounced (unknown user: "vualeks")
Jan 24 12:04:47 mail postfix/cleanup[4125]: 562624C3D4: message-id=<20080124110447.562624C3D4>
Jan 24 12:04:47 mail postfix/qmgr[4122]: 562624C3D4: from=<>, size=2468, nrcpt=1 (queue active)
Jan 24 12:04:47 mail postfix/bounce[4128]: 31C544C354: sender non-delivery notification: 562624C3D4
Jan 24 12:04:47 mail postfix/qmgr[4122]: 31C544C354: removed
Jan 24 12:04:47 mail postfix/local[4127]: 562624C3D4: to=<vualeks>, relay=local, delay=0.15, delays=0.06/0/0/0.08, dsn=5.1.1, status=bounced (unknown user: "vualeks")
Jan 24 12:04:47 mail postfix/qmgr[4122]: 562624C3D4: removed

It seems that user is found in ldap but message is still bounced, probably because mailbox location is not found/read or sth else, I dont know.

Thanks in advance.


© 2004-2008 readlist.com