I've just replaced our ancient (10-year old) mail server running Sendmail/UW-IMAP on Solaris with Postfix/Dovecot 2.1.10 running on Linux on new hardware. I opted to go with virtual users and I didn't want to create system accounts and I might end up hosting another department's mail as well.

We have a mix of POP3 and IMAP users, roughly 90 total. The POP3 user mailboxes migrated without a hitch, and the IMAP user mailboxes (in what looks like mbox format) migrated well for the INBOX (found in /var/mail/<username> ) but for those few who managed to create local folders and had mail files in their home directories, those mail files were ignored. Is there any clean way to manage to migrate those folders to the new server now? There were no .mailboxlist or .subscription files anywhere on the old mail server.

When I was planning the migration, I tried a variety of the methods listed on the UW-IMAP and generic migration pages including dsync, uw2dovecot.pl, and several others. What appeared to work well at the time was this, although I still have the mail in users' home directories to recover/migrate:

/usr/local/bin/doveadm -o imapc_user=$1 -o pop3c_user=$1 -o imapc_password=$2 -o
 pop3c_password=$2 backup -R -u [email protected] imapc:

with this dovecot.conf:

# 2.1.10: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 3.0.13-0.27-pae i686 SUSE Linux Enterprise Server 11 (i586) ext3
auth_mechanisms = plain login
disable_plaintext_auth = no
imapc_features = rfc822.size
imapc_host = p1.caps.fsu.edu
imapc_list_prefix = INBOX
listen = *
mail_location = maildir:/var/vmail/%d/%n/Maildir
namespace {
  hidden = yes
  list = no
  location = pop3c:
  prefix = POP3-MIGRATION-NS/
}
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
  separator = .
}
passdb {
  args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  pop3_migration_mailbox = POP3-MIGRATION-NS/INBOX
}
pop3_uidl_format = %08Xv%08Xu
pop3c_host = p1.caps.fsu.edu
service auth {
  unix_listener /var/run/dovecot/auth-master {
    mode = 0600
    user = vmail
  }
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
  args = uid=vmail gid=vmail home=/var/vmail/%d/%n allow_all_users=yes
  driver = static
}
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  log_path =
  mail_plugins =
  postmaster_address = [email protected]
}
protocol doveadm {
  mail_plugins = " pop3_migration"
}

--
Michael Sloan
Systems Administrator
FSU Center for Advanced Power Systems
[email protected]

Reply via email to