Hi all,
Lets say I have a maildir which doesn't contain any dovecot files but
has some emails lying around in it. If I add a message to this mailbox
using deliver, dovecot creates the uidlist file with a single entry (the
message that was just delivered). When I then log in to the mailbox, all
the other messages are added into the uidlist file in the normal order
(directory list order I believe). Then, the mailbox is in a situation
where anything that was delivered into the mailbox before the user logs
in is at the very top of a uidlist. Unfortunately many webmail clients
seem to order the mailbox by reverse uidl, so we get the situation where
people log into webmail (we use @mail) after their mailboxes have been
migrated to dovecot and any messages delivered between the time of
migration and the time of login are put to the very end of the list.
This could presumably be fixed by ordering the mailbox according to date
but certainly @mail doesn't really do this very well.
I've only tested this on v1.1 (1.1.17 from atrpms), but I didn't see
anything in the changelog to indicate that this deliver behaviour has
changed in v1.2.
Perhaps there should be a deliver option to recreate the uidlist file by
doing a full scan if it doesn't exist (as a login via pop/imap would
do), although I'm not sure why this shouldn't be the default? (apart
from deliever potentially causing a high amount of io). My current
work-around is to use postlogin to remove the uidlist file when someone
logs in to the mailbox for the first time which then forces it to be
created in the correct order; but this is a very messy solution.
Thanks,
Mark
--
Mark Zealey -- Platform Architect
Product Development * Webfusion
123-reg.co.uk, webfusion.co.uk, donhost.co.uk, supanames.co.uk
This mail is subject to http://www.gxn.net/disclaimer