Dimos Alevizos <dalev...@otenet.gr> wrote:

We recently completed the migration in our company from qpopper/mbox to
dovecot/mbox using only pop3_reuse_xuidl = yes and while everything went much
easier than we feared we came across an interesting problem that you might want
to pay attention to.

We use dovecot to provide both pop3 and imap (directly and via webmail) access
to our client's mailboxes and we noticed that when a client moves a mail to a
different folder and then back into INBOX (say he deleted it by mistake and
moves it back), dovecot inserts the same X-UIDL into it's cache, thus creating
duplicate entries.

When a pop3 client sees this (at least outlook in our case) it think's that
there's something wrong with the server's X-UIDL handling and re-downloads the
duplicate messages. EVERY time the user checks his mails.

I haven't heard any user complaint about this, but
perhaps nobody tried this before.

I recreated this situation (copy old qpopper message INBOX -> tmpbox ->
INBOX) and produced two messages with identical X-UIDL headers, but
according to the Wikipedia entry for POP3:

        Comparison with IMAP

        Clients that leave mail on servers generally use the UIDL command
        to get the current association of message-numbers to message
        identified by its unique identifier. The unique identifier
        is arbitrary, and might be repeated if the mailbox contains
        identical messages.

This is echoed in RFC1939 (page 11-12)

        While it is generally preferable for server implementations
        to store arbitrarily assigned unique-ids in the maildrop,
        this specification is intended to permit unique-ids to be
        calculated as a hash of the message.  Clients should be able
        to handle a situation where two identical copies of a
        message in a maildrop have the same unique-id.

So POP3 UIDLs are not guaranteed to be unique, especially if the messages
are the same.  Perhaps some mail readers are making unwarranted assumptions
about the uniqueness of UIDLs:

        
http://www.eggheadcafe.com/software/aspnet/33485042/duplicate-messageiduidlleave-on-serverrepeated-downloads-of-em.aspx
        https://www.ritlabs.com/bt/view.php?id=3599

Joseph Tam <jtam.h...@gmail.com>

Reply via email to