On Tue, 2011-11-15 at 16:02 +0100, Urban Loesch wrote:
At the beginning of our migration we didn't set the "pop3_reuse_xuidl" configuration option to yes. Do you know what happens when we activate the "pop3_reuse_xuidl" option on our running dovecot?
Will Dovecot change the uidl value for all existing mails which have set "X-UIDL" in its mailheader,
Yes.
or does Dovecot only change the uidl value for new received and still not downloaded mails?
Nope.. There is pop3_save_uidl=yes setting, which would do this for Maildir, assuming the POP3 clients had logged in while this option was enabled, but this isn't implemented for dbox. The biggest problem with implementing this for dbox would be that it has no variable length permanent per-mail storage (Maildir's dovecot-uidlist equivalent).
One way to solve this would be by patching dsync a little bit, and then dsyncing existing mdbox to mdbox-new, which adds existing POP3 UIDLs as dbox metadata. Those will override X-UIDL: headers. The patching would be basically by making dsync/dsync-local-worker.c local_worker_msg_get_next() always set data.pop3_uidl variable to the correct UIDL (which would depend on your pop3_uidl_format setting - pop3/pop3-commands.c:pop3_get_uid() shows how).