Dovecot 2.3.16, Ubuntu 22.04.
I'm trying to get a list of all dovecot users, on a simple test setup on
my local network (which "works", in that I can get IMAP mails from
dovecot):
passdb {
driver = passwd-file
args = /var/mail/vhosts/%d/shadow
}
userdb {
driver = passwd-file
args = /var/mail/vhosts/%d/passwd
}
The command 'doveadm user -u foo at example.com' correctly shows that
user.
However, any attempt to wildcard the user fails:
# doveadm user -u *@example.com
Error: auth-master: userdb list: User listing returned failure
Fatal: user listing failed
The log file shows
Error: conn unix:auth-worker (pid=13471,uid=129): auth-worker<1>:
passwd-file(*@example.com): passwd-file: User iteration isn't currently
supported with %variable paths
Any ideas? And, if I can get this to work, is this method any better
than just reading /var/mail/vhosts/example.com/passwd and extracting the
first field to get the user name? Or just finding all the maildir
directories in /var/mail/vhosts/example.com? Thanks.
If you're interested, I'm doing this so that I can automate postfix
setup (by mapping new addresses to known dovecot users in the postfix
virtual mailbox file). The vmailbox file might look like:
# 'user1' is a known dovecot user
foo at example.com example.com/user1