[Dovecot] Dovecot 1.x POP3 to Dovecot 2.x POP3 mbox to Maildir best transfer program/method
I have a box running Dovecot 1.x POP3 only server using mbox format. I want to port the mail over to a Centos 6.3 box running a Dovecot 2.x POP3 only server using Maildir format. The main thing I want to do is support XUID/read/unread status so the transfer is transparent for the end user. I have been able to achieve transfers from the mbox format to Maildir but loose the XUID/read/unread status so that the Thunderbird client always re-downloads all the mail as if it were new. Ive googled and I have tried the following:
dsync : dovecot 1.x server is too old and doesnt support the command? mb2md.pl: transfers the mbox to maildir and creates file dovecot-uidlist but the Thunderbird client redownloads the files virtualmin copy-mailbox: transfers the mailbox to Maildir but doesnt reproduce the dovecot indexes.
Any thoughts would be appreciated. I would like to produce a howto of the process when I am done.
I have further read the Migration documentation and someone pointed out to me two good questions:
1 - If I use the modified mb2md.pl -U the program creates a dovecot-uidlist. Or if I can produce this list
is there a way I can make dovecot use this list when it creates the dovecot-index file sets the first time it accesses the mailbox? Aka is there a command line option using dovecot or doveadm that creates the indexes based on the dovecot-uidlist that I can script for each mailbox I transfer?
2 - How/where/when do I use "pop3_reuse_xuidl=yes" in the dovecot.conf file for the first time each mailbox is read? Does this option need to be used after the first time (it is not set by default in my new server config).
From: Tim E. silent_wumpus@yahoo.com To: Dovecot List Mailing dovecot@dovecot.org Sent: Friday, September 7, 2012 3:32 PM Subject: [Dovecot] Dovecot 1.x POP3 to Dovecot 2.x POP3 mbox to Maildir best transfer program/method
I have a box running Dovecot 1.x POP3 only server using mbox format. I want to port the mail over to a Centos 6.3 box running a Dovecot 2.x POP3 only server using Maildir format. The main thing I want to do is support XUID/read/unread status so the transfer is transparent for the end user. I have been able to achieve transfers from the mbox format to Maildir but loose the XUID/read/unread status so that the Thunderbird client always re-downloads all the mail as if it were new. Ive googled and I have tried the following:
dsync : dovecot 1.x server is too old and doesnt support the command? mb2md.pl: transfers the mbox to maildir and creates file dovecot-uidlist but the Thunderbird client redownloads the files virtualmin copy-mailbox: transfers the mailbox to Maildir but doesnt reproduce the dovecot indexes.
Any thoughts would be appreciated. I would like to produce a howto of the process when I am done.
On 7.9.2012, at 22.32, Tim E. wrote:
I have a box running Dovecot 1.x POP3 only server using mbox format. I want to port the mail over to a Centos 6.3 box running a Dovecot 2.x POP3 only server using Maildir format. The main thing I want to do is support XUID/read/unread status so the transfer is transparent for the end user. I have been able to achieve transfers from the mbox format to Maildir but loose the XUID/read/unread status so that the Thunderbird client always re-downloads all the mail as if it were new. Ive googled and I have tried the following:
dsync : dovecot 1.x server is too old and doesnt support the command? mb2md.pl: transfers the mbox to maildir and creates file dovecot-uidlist but the Thunderbird client redownloads the files virtualmin copy-mailbox: transfers the mailbox to Maildir but doesnt reproduce the dovecot indexes.
Any thoughts would be appreciated. I would like to produce a howto of the process when I am done.
Copy the mboxes to the new v2.x server and use dsync to convert them to maildir.
Sorry for the delay. I have tried and failed to use dsync properly. What would the format and usage of the command be? I have all my old Mbox mail file called user onto the new server under /home/trans and used dsync as follows:
dsync -v -u user backup user@domain.com
All I get back is the usage. Also, another concern. Will the dovecot indexes be recreated as they where on the old server. I ask this question since the mbox file does not have the associated dovecot indexes. I know Im foobaring/newbying something simple at this point. Any help would be appreciated. The real question is will the clients have to redownload their emails as I described in the first post.
From: Timo Sirainen tss@iki.fi To: Tim E. silent_wumpus@yahoo.com Cc: Dovecot List Mailing dovecot@dovecot.org Sent: Tuesday, September 11, 2012 2:50 PM Subject: Re: [Dovecot] Dovecot 1.x POP3 to Dovecot 2.x POP3 mbox to Maildir best transfer program/method
On 7.9.2012, at 22.32, Tim E. wrote:
I have a box running Dovecot 1.x POP3 only server using mbox format. I want to port the mail over to a Centos 6.3 box running a Dovecot 2.x POP3 only server using Maildir format. The main thing I want to do is support XUID/read/unread status so the transfer is transparent for the end user. I have been able to achieve transfers from the mbox format to Maildir but loose the XUID/read/unread status so that the Thunderbird client always re-downloads all the mail as if it were new. Ive googled and I have tried the following:
dsync : dovecot 1.x server is too old and doesnt support the command? mb2md.pl: transfers the mbox to maildir and creates file dovecot-uidlist but the Thunderbird client redownloads the files virtualmin copy-mailbox: transfers the mailbox to Maildir but doesnt reproduce the dovecot indexes.
Any thoughts would be appreciated. I would like to produce a howto of the process when I am done.
Copy the mboxes to the new v2.x server and use dsync to convert them to maildir.
On 12.9.2012, at 1.39, Tim E. wrote:
Sorry for the delay. I have tried and failed to use dsync properly. What would the format and usage of the command be? I have all my old Mbox mail file called user onto the new server under /home/trans and used dsync as follows:
dsync -v -u user backup user@domain.com
First of all, you mean you have only one mbox file per user? If the users used IMAP protocol, you should have more than one mbox. The idea is that you first configure Dovecot to point to maildirs, and then use for example:
dsync -u user mirror mbox:/oldhome/user:INBOX=/home/trans/%u
Where /oldhome/user/ would have the non-INBOX files.
All I get back is the usage. Also, another concern. Will the dovecot indexes be recreated as they where on the old server.
You don't have to worry about indexes.
Any help would be appreciated. The real question is will the clients have to redownload their emails as I described in the first post.
dsync should preserve all the UIDs and POP3 UIDLs, assuming you have the same pop3_uidl_format setting.
First of all, you mean you have only one mbox file per user?
The old server is a POP3 only. It does not support IMAP. On the old server each
user has one Inbox in eg: /var/spool/mail/user <- 'user' being the the mbox file
I moved the mbox file user into /home/trans, created /oldhome/user and ran your command as best I understood it. The results are below.
[root@srv1 ~]# ls -lR /oldhome /oldhome: total 4 drwxrwxrwx 2 user root 4096 Sep 12 11:06 user
/oldhome/user: total 0 [root@srv1 ~]# ls -lR /home/trans /home/trans: total 29992 -rwxrwxrwx 1 root root 30709562 Sep 12 09:53 user [root@srv1 ~]# [root@srv1 ~]# dsync -u user mirror mbox:/oldhome/user:INBOX=/home/trans/%u dsync(root): Fatal: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace) [root@srv1 ~]# [root@srv1 ~]# dsync -u user mirror mbox:/oldhome/user:INBOX=/home/trans/user dsync(root): Fatal: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace) [root@srv1 ~]# [root@srv1 ~]# dovecot -n # 2.0.9: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-279.5.2.el6.x86_64 x86_64 CentOS release 6.3 (Final) auth_mechanisms = plain login disable_plaintext_auth = no mail_location = maildir:~/Maildir managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date mbox_write_locks = fcntl passdb { driver = pam } plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } protocols = imap pop3 ssl_cert =
From: Timo Sirainen tss@iki.fi To: Tim E. silent_wumpus@yahoo.com Cc: Dovecot Mailing List dovecot@dovecot.org Sent: Tuesday, September 11, 2012 6:48 PM Subject: Re: [Dovecot] Dovecot 1.x POP3 to Dovecot 2.x POP3 mbox to Maildir best transfer program/method
On 12.9.2012, at 1.39, Tim E. wrote:
Sorry for the delay. I have tried and failed to use dsync properly. What would the format and usage of the command be? I have all my old Mbox mail file called user onto the new server under /home/trans and used dsync as follows:
dsync -v -u user backup user@domain.com
First of all, you mean you have only one mbox file per user? If the users used IMAP protocol, you should have more than one mbox. The idea is that you first configure Dovecot to point to maildirs, and then use for example:
dsync -u user mirror mbox:/oldhome/user:INBOX=/home/trans/%u
Where /oldhome/user/ would have the non-INBOX files.
All I get back is the usage. Also, another concern. Will the dovecot indexes be recreated as they where on the old server.
You don't have to worry about indexes.
Any help would be appreciated. The real question is will the clients have to redownload their emails as I described in the first post.
dsync should preserve all the UIDs and POP3 UIDLs, assuming you have the same pop3_uidl_format setting.
Added these lines to /etc/dovecot.conf namespace { separator = / inbox = yes } Ran the command and it works. However it doesnt keep the UID as the thunderbird client redownloads all the POP3 mails.
From: Tim E. silent_wumpus@yahoo.com To: Dovecot Mailing List dovecot@dovecot.org Sent: Wednesday, September 12, 2012 1:51 PM Subject: Re: [Dovecot] Dovecot 1.x POP3 to Dovecot 2.x POP3 mbox to Maildir best transfer program/method
First of all, you mean you have only one mbox file per user?
The old server is a POP3 only. It does not support IMAP. On the old server each
user has one Inbox in eg: /var/spool/mail/user <- 'user' being the the mbox file
I moved the mbox file user into /home/trans, created /oldhome/user and ran your command as best I understood it. The results are below.
[root@srv1 ~]# ls -lR /oldhome /oldhome: total 4 drwxrwxrwx 2 user root 4096 Sep 12 11:06 user
/oldhome/user: total 0 [root@srv1 ~]# ls -lR /home/trans /home/trans: total 29992 -rwxrwxrwx 1 root root 30709562 Sep 12 09:53 user [root@srv1 ~]# [root@srv1 ~]# dsync -u user mirror mbox:/oldhome/user:INBOX=/home/trans/%u dsync(root): Fatal: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace) [root@srv1 ~]# [root@srv1 ~]# dsync -u user mirror mbox:/oldhome/user:INBOX=/home/trans/user dsync(root): Fatal: Mail locations must use the same virtual mailbox hierarchy separator (specify separator for the default namespace) [root@srv1 ~]# [root@srv1 ~]# dovecot -n # 2.0.9: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-279.5.2.el6.x86_64 x86_64 CentOS release 6.3 (Final) auth_mechanisms = plain login disable_plaintext_auth = no mail_location = maildir:~/Maildir managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date mbox_write_locks = fcntl passdb { driver = pam } plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } protocols = imap pop3 ssl_cert =
From: Timo Sirainen tss@iki.fi To: Tim E. silent_wumpus@yahoo.com Cc: Dovecot Mailing List dovecot@dovecot.org Sent: Tuesday, September 11, 2012 6:48 PM Subject: Re: [Dovecot] Dovecot 1.x POP3 to Dovecot 2.x POP3 mbox to Maildir best transfer program/method
On 12.9.2012, at 1.39, Tim E. wrote:
Sorry for the delay. I have tried and failed to use dsync properly. What would the format and usage of the command be? I have all my old Mbox mail file called user onto the new server under /home/trans and used dsync as follows:
dsync -v -u user backup user@domain.com
First of all, you mean you have only one mbox file per user? If the users used IMAP protocol, you should have more than one mbox. The idea is that you first configure Dovecot to point to maildirs, and then use for example:
dsync -u user mirror mbox:/oldhome/user:INBOX=/home/trans/%u
Where /oldhome/user/ would have the non-INBOX files.
All I get back is the usage. Also, another concern. Will the dovecot indexes be recreated as they where on the old server.
You don't have to worry about indexes.
Any help would be appreciated. The real question is will the clients have to redownload their emails as I described in the first post.
dsync should preserve all the UIDs and POP3 UIDLs, assuming you have the same pop3_uidl_format setting.
participants (2)
-
Tim E.
-
Timo Sirainen