[Dovecot] LMTP: userdb lookup - user-filter with variables

Burckhard Schmidt bschmidt at cms.hu-berlin.de
Wed Jul 31 15:05:13 EEST 2013

I tried to use dovcots lmtp instead of dovecot-lda.
postfix has in master.cf ... dovecot-lda -f ... -d ${user} to separate 
the user part from user at hostname.domain.
So lookup of "user" succeeds in userdb (LDAP) done by dovecot-lda.

I have always local addresses like to=<user at hostname.domain>
postfix/lmtp[6579]: [ID 197553 mail.info] B3CDA66A16: 
to=<h0094slk at mailstore4.hu-berlin.de>

With lmtp the userpart must be separated also. I tried user_filter 
(LDAP) with %n, %Ln, %8n without success: userdb lookup: 
user at hostname.domain doesn't exist)

I used "doveadm user h0094slk" and
"doveadm user h0094slk at mailstore4.hu-berlin.de"
for my tests.

userdb {
   driver = ldap
   args = /usr/dovecot/etc/ldapuser.conf
and ldapuser.conf with
user_filter = (&(uid=%n) (objectClass=cmsAccount))
user_attrs = homeDirectory=home

I modified user_filter like uid=%Ln or uid=%8u

success for doveadm user h0094slk (because nothing to split)
userdb: h0094slk
   home      : /home/p0094/h0094slk

but no success for
doveadm user h0094slk at mailstore4.hu-berlin.de
userdb lookup: user h0094slk at mailstore4.hu-berlin.de doesn't exist

It looks for me like user_filter do not use variables at this point?
What I'm missing?

Mit freundlichen Grüßen --- Burckhard Schmidt

Abteilung Systemsoftware und Kommunikation
ZE Computer- und Medienservice der Humboldt-Universität zu Berlin
Postanschrift: Unter den Linden 6, 10099 Berlin
Standort:      Rudower Chaussee 26; 12489 Berlin
Tel.:          +49-30-2093-70058  Fax: +49-30-2093-2959
Mail:          bschmidt at cms.hu-berlin.de

More information about the dovecot mailing list