On Sat, 2009-12-12 at 13:46 +0200, Tapio Sokura wrote:
I'm having problems with expire-tool in Dovecot 1.2.6 not finding the mailboxes. I had
mail_location = mbox:/var/spool/dovecotmail/%d/%n/mails:INDEX=/var/spool/dovecotmail/%d/%n/indexes
in dovecot.conf, but that doesn't work with expire-tool. So I commented that out from dovecot.conf, all the data is in a database anyway. A userdb lookup returns the following for userid@domain:
home = /var/spool/dovecotmail/domain/userid/ mail = mbox:/var/spool/dovecotmail/domain/userid/mails:INDEX=/var/spool/dovecotmail/domain/userid/indexes
Here's a simple way that should work:
mail_location = mbox:~/mails:INDEX=~/indexes
and then you can also drop the mail field from userdb.
Now when running expire-tool --test, I get this:
Error: Namespace '': Mail storage autodetection failed with home=/var/spool/dovecotmail/domain/userid/ Info: User lookup failed: userid@domain
When I run expire-tool under strace, I can see that it is indeed looking for the mails in the typical autodetect locations (Maildir, mail, Mail) under user's home directory. So it appers that expire-tool takes the home directory from userdb, but ignores mail location returned by userdb?
I think it should have worked and I don't see anything obviously wrong in the code either, but if the mail_location change works for you I don't think I'll bother looking into this. v2.0 solves the whole problem much better.