[Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox

Timo Sirainen tss at iki.fi
Thu Aug 9 20:02:35 EEST 2007


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20070809/e6faa691/attachment-0001.bin 


More information about the dovecot mailing list