Converting from mbox to maildir
converting from mbox to maildir for imap
problem: mbox format doesn't allow subfolders in imap.
mbox is a mailfile in /var/mail/ and maildir is 1 file per email in the users homedir/Maildir
Steps:
- replace popa3d with dovecot-pop3d
change protocols in dovecot
http://www.debiantutorials.com/installing-dovecot-imap-and-pop-daemon-with-mysql-backend/
- Get postfix to deliver in maildir format
postconf -e "home_mailbox = Maildir/"
postconf -e "mailbox_command ="
http://wiki.debian.org/Postfix#Maildir
- change the way procmail delivers mail
DEFAULT="$HOME/Maildir/"
MAILDIR="$HOME/Maildir/"
http://wiki.dovecot.org/procmail (with more options for faster delivery)
- change the way dovecot-pop3d picks up mail
- Migration!
First, create a master user on the server you're going to migrate from:
/etc/dovecot.conf
auth_master_user_separator=*auth default { passdb passwd-file { args = /etc/dovecot/passwd.masterusers master = yes pass = yes } passdb shadow { } userdb passwd { }}
Create the master user in the new file:
htpasswd -b -c -s passwd.masterusers user password
Test it (NB mind the '1' you do have to type this in!):
# telnet localhost 143* OK Dovecot ready.1 login loginuser*masteruser masterpass1 OK Logged in.
Also see: http://wiki1.dovecot.org/Authentication/MasterUsers
http://wiki2.dovecot.org/Migration/Dsync
- convert the mbox mailboxes to maildir format:
This converts mboxes to maildirs per user
http://wiki.dovecot.org/Migration/MailFormat
dsync -u red mirror mbox:~/mail:INBOX=/var/mail/red
If you get dotlock time errors, make sure all the machines are running ntp.
It could be that the existing user allready has folders in their setup because they've been using squirrelmail or imap or sometihng. This will give errors during the conversion of the type:
dsync(razor): Error: Can't rename mailbox INBOX to INBOX_13cabe1b5cfff750fa080000ba1da2b1: Renaming INBOX isn't supported. dsync(razor): Error: Can't rename mailbox INBOX_e72e0e3ad3f4ff5019600000ba1da2b1 to INBOX: Target mailbox already exists
http://batleth.sapienti-sat.org/projects/mb2md/
But Dovecot1 has its' own system, which Dovecot2 doesn't:
http://wiki.dovecot.org/Plugins/Convert <- NB also see alternative formats underneath page
step by step, user by user
On edgarmail:
copy users from ghost to edgarmail /etc/passwd /etc/passwd- /etc/shadow /etc/shadow- /etc/group /etc/group-
copy users into /etc/postfix/virtual on edgarmail
ensure domain is in /etc/postfix/virtual-domains on edgarmail
postmap virtual postfix reload
make sure the username/mail and username/mail/.imap/ directories and files are all chown the user and chgrp the usergroup on ghost
on edgarghost
Per user sync the mailboxen from old system to new (run from ghost):
dsync -u username mirror mbox:~/mail:INBOX=/var/mail/username
resolve errors NB makkelijk is om /home/sites/site/userid/Maildir directory geheel te verwijderen voor de sync. Kans is hoog dat ze die namelijk nog nooit hebben gebruikt, BEHALVE als ze ooit hun mail via imap.edgarbv.com hebben opgehaald.
In Outlook / mailclient:
Create new account with IMAP server / imap.edgarbv.com
test
make sure the sync is finished
log in to roundcube (http://imap.edgarbv.com)
set up identity
send testmail to gmail / hotmail using roundcube and mail client then start copying the folders over.