On Fri, 2007-07-06 at 11:54 +0200, Bernd Kuhls wrote:
mail_location = mbox:~/.imap_mail:INBOX=/var/mail/%u:INDEX=/var/mail/indexes/%u
mbox_snarf = ~/.imap_mail/inbox
- The index for $HOME/.imap_mail/inbox is created in $HOME/.imap_mail/.imap/inbox/, while the indexes for other mbox files are created in /var/mail/indexes/%u, like its supposed to be. How to disable creating index files in $HOME altogether without using links?
This is a bit problematic to fix because of how it works internally.
if /var/mail/$user does not exist, syslog is cluttered with these messages for each POP3/IMAP login:
Jun 10 22:33:33 server dovecot: IMAP(someuser): stat() failed with mbox file /var/mail/someuser: No such file or directory
I can't reproduce this.
export MAIL_PLUGINS=mbox_snarf export MBOX_SNARF=~/mbox export MAIL=mbox:~/mail4:INBOX=/var/mail/tss:INDEX=/tmp/index
rm -rf ~/mbox ~/.imap ~/mail4 /var/mail/tss ./imap x select inbox --> no errors
rm -rf ~/mbox ~/.imap ~/mail4 /var/mail/tss touch ~/mbox ./imap x select inbox --> no errors
What plugins are you using?
- the biggest problem is the following scenario:
- /var/mail/$user does not exist
- Exim can not deliver a mail to $HOME/.imap_mail/ so a second router comes into action and delivers the mail to /var/mail/$user
- /var/mail/$user now only contains the mail, without the IMAP headers Dovecot normally writes to a mbox file
- the user logs into the account and Dovecot tries to snarf the mail
- if snarfing is sucessful Dovecot must delete the mail from /var/mail/$user, but this fails due to the missing IMAP headers
- when the user logs into the account the next time the mail is snarfed again, this can be repeated endlessly
- the only situation where the snarf plugin works like expected is when /var/mail/$user contains the IMAP headers
Looks like this is broken only with mbox_lazy_writes=yes, which is why I didn't notice it first.
And looks like it's a bug in Dovecot itself. Fixed: http://hg.dovecot.org/dovecot-1.0/rev/1b6c41524c6a