At 1:01 PM +0100 3/13/08, Diego Liziero wrote:
I'm still collecting user feedback after moving from uw-imap to dovecot development release 1.1.rc3.
What said in the subject seems the obvious result of an improper configuration.
The risk of duplication in built into the IMAP protocol. There is no logical 'move' command in IMAP, so a server cannot block one client from doing the multiple steps needed to safely emulate a move while another client is doing it as well. Clients can (and should) narrow the window for this sort of event by refreshing their views of the source and target folders and the target message as a part of their emulation of a move, but there are a lot of careless clients out there.
Office emails are configured and accessed on multiple clients with the same automatic filters, and sometimes the filtered emails get duplicated on the destination folder.
The fact is that this was perfectly working with wu-imap (without any duplication/triplication of emails).
The only reason I can think of for Dovecot to be more vulnerable to this is that it offers a set of mbox_* settings that might lead to lazy simultaneous clients seeing different states for a mbox-backed inbox. If you have mbox_dirty_syncs, mbox_very_dirty_syncs, or mbox_lazy_writes, you increase the risk of clients not seeing the results of other clients' recent actions in a mailbox.
I'm looking if there is some workaround to keep this client misuse working with dovecot.
There's no sure-fire fix because of how logical moves have to be implemented by clients.
Could an email have a sort of "primary key" that forbids it's duplication in the same imap folder?
In principle, every message has a globally and permanently unique Message-ID header. In practice, not so much... Some MUA's and MDA's can be configured to de-dupe mailboxes based on Message-ID, but doing so is not always safe or desirable and Dovecot has no such facility.
Bill Cole bill@scconsult.com