Hi. I'm new to IMAP, but just tried uw-imapd and then dovecot in conjuction with offlineimap. I'm using Debian package version 0.99.14-1 and have my mail in mbox format.
One of the first things that annoys me about both programs is that as soon as you read a mailbox over imap, the imapd changes all "new" messages to "old". It seems to have the assumption that the IMAP client is "reading" the messages, but particularly in the case of offlineimap, this assumption is not justified: I might not read the message on the client on which I've just synced, I might read it on the server or another client. So I would like dovecot to leave the mailbox alone, and leave it up to the client to write any changes to message status. Is there any option to dovecot that would accomplish this?
While experimenting, I noticed that dovecot sometimes doesn't notice changes to the status made directly on the server. For example, if I create new mbox mailbox with one message (initially "new"), and access it with imap (using mutt in this example), it shows up "new" in the client. When I next access it with imap, it shows up "old", because dovecot modified the status as described above. If I then run mutt directly on the mailbox and change the status back to "new", then access it with imap, it still shows up "old". If I then remove the .imap directory containing the caches, it is back to "new". I assume that dovecot is supposed to pick up changes made directly on the server, right?
Thanks for your help, Andrew