[Dovecot] Question about pop3_reuse_xuidl
Hi,
we are in migration progress from Communigate Pro 5.0.x to Dovecot 2.0.15 with mdbox. We still migrated about 25.000 IMAP accounts from CGP to Dovecot.
Also there were still added about 2000 new POP3 Accounts on Dovecot.
Now we must migrate about 10.000 POP3 accounts from CGP to Dovecot.
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, or does Dovecot only change the uidl value for new received and still not downloaded mails?
Many thanks and regards Urban Loesch
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).
participants (2)
-
Timo Sirainen
-
Urban Loesch