Hi,
This small mail to share my observation about a recent move of mailboxes between two servers and ask about explanation and/or improvement about UIDL in dovecot.
SV1 : Dovecot 0.99.14 / Red Hat Fedore Core 4 SV2 : Dovecot 1.07 / CentOS 5.2 Mailboxes in /var/spool/mail on the twoo servers.
Test will be done with outlook express with option "leave message on server" checked.
Goal is simply to move users mailboxes from SV1 to SV2 without re-downloading all messages.
Try 1:
- Stop dovecot on SV2
- Clear all dovecot indexes on SV2
- Rsync of my mailbox
- Start dovecot on SV2
- Update pop setting in outlook and send/receive Result : => starting to download 3000 mails...
After some debug, I discovered that UIDL where not of the same format => put pop3_uidl_format = %v.%u in dovecot.conf of SV2.
Try 2: Same operations as Try1 Result : => starting to download 3000 mails...
UIDL's where of the same format but values where not corresponding... Teleting on SV1 and asking UIDL, last value is xxxxxxxxxx.85878. On SV2, xxxxxxxxxx.85879 was the FIRST value of the list. Conclusion for the moment, Dovecot has a problem with the detection of existing UID of the moved mailbox.
Comparaison of first header found from the two mailboxes show ... differences !
SV1 give the following : (...) X-UID: 70570 Content-Length: 1561 X-IMAPbase: xxxxxxxxxx 85845 $MDNSent X-Keywords: (...)
SV2 give the following (after first POP attempt) : (...) Content-Length: 1561 X-IMAPbase: xxxxxxxxxx 0000089204 $MDNSent X-Keywords: X-UID: 85846 (...)
Observation : X-UID: 85846 is not at the same place in the header.
Try 3:
- Stop dovecot on SV2
- Clear all dovecot indexes on SV2
- Rsync of my mailbox
- Edit mailbox and move X-UID header after the X-Keywords header
- Start dovecot on SV2
- Update pop setting in outlook and send/receive
Result : => OK.
Is that normal that dovecot is impacted by the position of the headers ? Maybe some improvement possible ?
Maybe theyre is another method to make my migration ?
Any observation or comment is welcome...
-- Benoît Desloges Network Engineer