On Mon, 2006-02-13 at 09:02 +0100, Jonas Olsson wrote:
You should also set next-unused-uid value properly. It's also in X-IMAPbase/X-IMAP header as the next number after UIDVALIDITY.
A quick lock through the current mailboxes reveals that 28 of them contain messages but lack an X-IMAPbase/X-IMAP header. A large majority of the mailboxes also lack any X-UID headers.
If they don't have the headers, then it most likely means that POP3 client has downloaded and deleted all the mails, and the mails without X-UID headers are new ones that the client has never seen yet.
I can get the UIDVALIDITY base of the the mailboxes missing an X-IMAP header by connecting to the Dovecot POP3 service, I guess, but how about all the mailboxes lacking X-UID headers? Is there a way I can determine, in a scriptable way, which message has which UID or should I assume that the UIDs are assigned in chronological order based on the next-UID value in the X-IMAP header? That is, the last message in the MBOX file has UID = next-UID - 1, the next to last = next-UID - 2, and so on?
No. If a message doesn't have X-UID header, then it should be given next-uid UID. The next message should then be given next-uid+1, etc. And this should be done even if the message contains already X-UID header, since it might have been sent remotely and it would be broken in that case.
But anyway, those messages without X-UID shouldn't have been seen by POP3 clients yet, so you wouldn't necessarily have to put them into dovecot-uidlist at all, just let Dovecot give them new UIDs.