Converting from mbox to maildir: Difference between revisions

From Edgar BV Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 77: Line 77:


http://wiki.dovecot.org/Plugins/Convert  <- NB also see alternative formats underneath page
http://wiki.dovecot.org/Plugins/Convert  <- NB also see alternative formats underneath page
= step by step, user by user =
== On tripmail: ==
copy users from /etc/passwd /etc/passwd- /etc/shadow /etc/shadow-
copy users into /etc/postfix/virtual
ensure domain is in /etc/postfix/virtual-domains
<pre>
postmap virtual
postfix reload
</pre>
make sure the username/mail and username/mail/.imap/ directories and files are all chown the user and chgrp the usergroup.
Per user sync the mailboxen from old system to new:
<pre>
dsync -u username mirror mbox:~/mail:INBOX=/var/mail/username
</pre>
resolve errors
== In Outlook / mailclient: ==
Create new account with IMAP server / imap.tripany.com
test
make sure the sync is finished
log in to roundcube (http://imap.tripany.com)
set up identity
send testmail to gmail / hotmail using roundcube and mail client
then start copying the folders over.

Revision as of 14:37, 19 March 2013

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 tripmail:

copy users from /etc/passwd /etc/passwd- /etc/shadow /etc/shadow-

copy users into /etc/postfix/virtual

ensure domain is in /etc/postfix/virtual-domains

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.

Per user sync the mailboxen from old system to new:

dsync -u username mirror mbox:~/mail:INBOX=/var/mail/username

resolve errors

In Outlook / mailclient:

Create new account with IMAP server / imap.tripany.com

test

make sure the sync is finished

log in to roundcube (http://imap.tripany.com)

set up identity

send testmail to gmail / hotmail using roundcube and mail client then start copying the folders over.