Migrating your email probably also takes you through 80% of what you need in a migration. If you're happy with that -- glad to be of service. If you need the calendaring to come over with fully-functional meetings, guest lists, responses, resources, contact Sumatra and we'll set you up with a trial.
Remember before you test, you will have to enable IMAP in Exchange 2013 and for your end users in Office 365. See how to do this in our blog post.
--host2 outlook.office365.com --user2 ^
email@example.com --password2 "XXXXX" ^
--ssl2 --sep2 /
--host1 zimbra.sumatra.com ^
--user1 firstname.lastname@example.org --password1 "XXXX" ^
--host2 outlook.office365.com --port2 993 --sep2 / ^
--user2 email@example.com ^
--authuser2 SERVICE_ACCT@sumatra.onmicrosoft.com ^
--password2 "XXXXX" --ssl2
Confused about Exchange permissions and setting up your service account? Read our post The Cookbook Version of Exchange 2013 Migration Rights.
Note also that this gives you the direct capability to map your user ID, for instance from "jimi.hendrix" on your legacy system to "jhendrix1967" or "jimi.hendrix1967" on your target system.
Iterating over a user list
sudo ./zmprov -l gaa >~/accounts.txt
It has been said that the "death is in the details." We say, "success is set in the details."
Now come the details
You can also check out our post Throttling in Exchange 2013.
- --buffersize 8192000 imapsync has a default I/O buffer of 4 Kb. Upping this to 8 Mb will probably speed things for you
- --syncinternaldates: some email systems misuse email dates and you therefore run the risk of the receipt dates on your target system (what imapsync refers to as host2) becoming the date of insertion. This command avoids that unfortunate event.
- --fast: this prevents flags from being synced and therefore makes the process (wait for it....) faster. Not an option to invoke if you want / need to sync flags!
- --dry: this is a really useful option for development and debugging, It just goes through the motions of logging onto both source and target system and displays the status -- a dry run. Use this or debugging options -debug and -debugimap
--exclude "Conversation Action Settings" ^
--exclude "Quick Step Settings" ^
--exclude "News Feed"
Although we have not seen those folders in Zimbra in a while, your implementation could be different.
--regextrans2 's/Junk$/Junk E-Mail/'
Make sure you are enabled for IMAP access.
- Reading the Zimbra user list (and passwords)
- Provisioning users in Exchange
- Re-configuring Outlook to point to your Exchange server and removing the Zimbra Outlook connector. (Note: there are publicly available scripts but we wrote our own after we found they did not work.)
- Pre- and Post-cut over scripting so that legacy emails are moved to the target system, and new emails redirected to the target system.
If you are a larger site with the need to preserve your meeting guest lists, recurrences, responses, and resources post-migration feel free to contact Sumatra.