For many years I had the following in my dovecot.conf:
userdb { args = /usr/local/etc/dovecot/dovecot-sql.conf.ext default_fields = uid=vpopmail gid=vchkpw mail_location=/usr/local/virtual/%u/Maildir mail=maildir:/usr/local/virtual/%u/Maildir driver = sql }
Recently, I started having quite a lot of errors on one MySQL account (used as a bcc backup account) along the lines of
Fatal: Namespace '': Ambiguous mail location setting, don't know what to do with it: /usr/local/virtual/backup@domain/Maildir (try prefixing it with mbox: or maildir:
Messages were sitting in the mail and were also getting dumped into /usr/local/virtual/backup@domain/new and I ended up running a fun little awk to move them into the right folders:
grep -r "<backup+" . |awk -F: '{t=tolower($2); f=tolower($1); gsub(/@.*/, "/", t); sub(/<backup\+/, "../Maildir/", t); sub(/\.\//, "",f); cmd="mv " f" “t; system(cmd); }’
So I changed my doevecot.conf to:
userdb { args = /usr/local/etc/dovecot/dovecot-sql.conf.ext default_fields = uid=vpopmail gid=vchkpw mail_location=maildir:/usr/local/virtual/%u/Maildir mail=maildir:/usr/local/virtual/%u/Maildir driver = sql }
And the errors went away.
So, no problem here to solve, but I am curious why I haven’t been having issues until quite recently? Was there a change or have I stumbled into something where it only looks like I’ve fixed the issue?
In case it matters?
# cat dovecot-sql.conf.ex [7:57] [/etc/dovecot] driver = mysql connect = host=localhost dbname=postfixusers user=dovecot password=x default_pass_scheme = SHA256-CRYPT password_query = select password FROM mailbox where username ='%u' user_query = select 89 as uid, 89 as gid, concat('/usr/local/virtual/', maildir, 'Maildir') as home FROM mailbox where username = '%u'
The only ‘recent’ change I’ve made to my configuration was creating the Maildir/ subfolder for all the virtual users instead of using the ‘mailder’ from the sql table (that is, I added “, ‘Maildir’” to the concat, but that was quite awhile ago. I’m pretty sure I’d have noticed this before.
Is that user_query as it should be or should I set concat('/usr/local/virtual/', maildir) as home and also set concat(‘maildir:/usr/local/virtual/', maildir, 'Maildir') as mail here rather than in the userdb block?
-- K is for KATE who was struck by an axe L is for Leo who swallowed some tacks
On 9 Jun2019, at 09:42, @lbutlr via dovecot <dovecot@dovecot.org> wrote:
…should I set concat('/usr/local/virtual/', maildir) as home and also set concat(‘maildir:/usr/local/virtual/', maildir, 'Maildir') as mail here rather than in the userdb block?
I went ahed and did this since I saw it given as an erample config in more than one search result. It appears to be working fine, but I haven’t changed the userdb block back in dovecot.conf back to what I had it before either. I suspect that is OK since that specifies a default.
-- Yeah, Nick. Nick's the kinda guy you can trust. Nick's your buddy Nick's the kinda guy you drink beers with. The kinda guy that doesn't care if you puke in his car. Nick.
participants (1)
-
@lbutlr