Stop the passdb from splitting a mailbox across two maildirs

FixKlusterServices
Shipped
August 5, 2026 at 10:20 PM UTC
Author
Kamo
Commit
27d05be

password_query returned `email as user`, which overwrote the %Lu-lowercased login name with the row's stored casing. user_query then interpolated %n from the renamed username, so IMAP resolved a mailbox to /var/mail/vhosts/<d>/Gerard while LMTP delivery -- which never runs a passdb lookup -- wrote to .../gerard. Any virtual_users row not stored all-lowercase therefore received mail into one maildir and served an empty one over IMAP. Four accounts were affected and had never seen a single delivered message in a client. Drop `email as user` from password_query and switch the path templates to %Ld/%Ln so the maildir stays case-stable no matter how the row is cased.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing