Hello, Please excuse my naive question. I am trying to understand how "service auth" is supposed to work between Postfix and Dovecot. (https://doc.dovecot.org/2.4.2/howto/sasl/postfix.html)
Here is my test setup:
- dovecot and postfix talking in lmtpd (via unix_listener /var/spool/postfix/private/dovecot-lmtp)
- dovecot and postfix talking in sasl (via unix_listener /var/spool/postfix/private/auth)
- "bob" and "alice" are virtual users of the virtual domain "my_domain.org"
- passwd-file (plain) is /etc/dovecot/passwd
Now, postrfix receive (by smtp) an email From: bob@my_domain.org To: alice@my_domain.org Postfix validate the domain according to its config (main.cf: virtual_mailbox_domains=my_domain.org) Then, it queries dovecot about these users via sasl: and that's where it fails!
Here are logs from postfix:
2026-01-16T14:28:55.829532+01:00 pc-serveur postfix/qmgr[25055]: CA20D880486: from=<bob@my_domain.org>, size=9988, nrcpt=1 (queue active) 2026-01-16T14:28:55.831365+01:00 pc-serveur postfix/lmtp[25080]: CA20D880486: to=<alice@my_domain.org>, relay=pc-serveur.my_domain.org[private/dovecot-lmtp], delay=0, delays=0/0/0/0, dsn=5.1.1, status=bounced (host pc-serveur.tp-reseaux.enstb.org[private/dovecot-lmtp] said: 550 5.1.1 <alice@my_domain.org> User doesn't exist: alice@my_domain.org (in reply to RCPT TO command))
Here are logs from dovecot:
Jan 16 14:28:55 lmtp(25081): Info: Connect from local Jan 16 14:28:55 auth: Debug: conn unix:/run/dovecot/auth-userdb (pid=25081,uid=118): Server accepted connection (fd=24) Jan 16 14:28:55 auth: Debug: master in: USER 1 bob@my_domain.org protocol=lmtp Jan 16 14:28:55 auth(bob7): Debug: passwd-file: Performing userdb lookup Jan 16 14:28:55 auth(bob7): Debug: passwd-file: lookup: user=bob7 file=/etc/dovecot/passwd Jan 16 14:28:55 auth(bob7): Info: passwd-file: unknown user Jan 16 14:28:55 auth(bob7): Debug: passwd-file: Finished userdb lookup Jan 16 14:28:55 auth: Debug: userdb out: NOTFOUND 1 Jan 16 14:28:55 lmtp(25081): Info: Disconnect from local: Logged out (state=READY) Jan 16 14:28:55 lmtp(25081): Info: Connect from local Jan 16 14:28:55 auth: Debug: master in: USER 2 alice@my_domain.org protocol=lmtp Jan 16 14:28:55 auth(alice7): Debug: passwd-file: Performing userdb lookup Jan 16 14:28:55 auth(alice7): Debug: passwd-file: lookup: user=alice7 file=/etc/dovecot/passwd Jan 16 14:28:55 auth(alice7): Info: passwd-file: unknown user Jan 16 14:28:55 auth(alice7): Debug: passwd-file: Finished userdb lookup Jan 16 14:28:55 auth: Debug: userdb out: NOTFOUND 2 Jan 16 14:28:55 lmtp(25081): Info: Disconnect from local: Logged out (state=READY)
So, what's wrong? It seems to me that Dovecot receives a SASL request for the user "bob@my_domain.org", but only does a lookup for "bob", without the domain. Isn't it? So, why? What can I do?
Best regards, Christophe