On Thu, 2013-04-11 at 08:28 +0000, Mark Zealey wrote:
I ran into an issue yesterday (dovecot 2.0) whereby when we dsync messages from a local machine (sdbox) to a remote (Maildir) which have different pop3_uidl_formats configured, the uidl format is not preserved. There doesn't seem to be any way to force this in the code, although I suspect that Maildir sources with saved pop3 uidls would pass them correctly. Attached is a rough patch against 2.0.21 dsync which will generate the uidls on the client before passing them over to the destination. This only works for %u and %v currently, also because dsync doesn't read the whole config file you need to specify -o pop3_uidl_format=... to dsync.
Hmm. Tricky. The UIDL generation in pop3 code would have to be moved to somewhere more generic for this to fully work. That's a little bit annoying to do.
Another possibility would be to use v2.1+ and imapc+pop3c, which would preserve POP3 UIDLs: http://wiki2.dovecot.org/Migration/Dsync