Zimbra has a comprehensive set of tools that make migration easier than do many other mail servers.
A couple of years ago I had occasion to migrate 25,000 users from a Zimbra server. The requirement was to create user accounts on our server, copy their folders, messages, address books, and calendars and to do it overnight.
The Zimbra zmprov utility was used to export the user account information and build a list of the users to be migrated.
Normally an
IMAP script would have been used to copy the e-mail messages but because we also needed to do calendars and address books I used the Zimbra zmmailbox utility to export everything (folders, messages, calendars, address books) to tgz files. The files were FTP'd to the new server where scripts loaded the e-mail (using IMAP), calendar, and addressbook data.
Because of the size of the migration --- and the need to do it in such a short timeframe --- I did a "pre-migration" of the e-mail messages during the prior week. Thus when the night of the actual migration arrived most of the e-mails had already been transferred and all that had to be done was to pick and copy messages that had arrived since the pre-migration.
Doing an incremental copy of messages was simplified by the fact that zmmailbox supports an "after:<date>" option. That greatly reduced the amount of data that had to be exported and copied on the final night.
All in all, I'd have to say I was greatly impressed by the breadth and quality of Zimbra's utilities.