Let's imagine that you've decided to move from an IMAP mail server to Exchange Server. Unfortunately Exchange 2007 does not come with a cross-platform migration wizard, so how will you go about it?
The lack of an official migration path strikes me as odd because Exchange 2003 had the Exchange Migration Wizard, which allowed a relatively straightforward and well-documented transition from Lotus, Groupwise, or IMAP mail systems. I can think of three possible ways to move from an IMAP mail server to Exchange 2007.
Manually migrating users to Exchange will most likely be a lengthy process. To start, you will have to set up the users on Active Directory/Exchange and then re-route mail to the new Exchange environment. Connect the user's Outlook to their Exchange account leaving the IMAP account in place. It's now simply a case of dragging mail from the IMAP account and dropping it in to the Exchange account. The same can be done for Calendars and Contacts stored in the user's Personal Folders. Don't forget to remove the IMAP account from Outlook once done or your users will end up confusing themselves and it could get messy.
Depending on the average size of a user's mailbox this type of transfer could take quite some time. I haven't tried moving users from IMAP to Exchange using this method, although I have used it to move mail from one IMAP server to another. It's probably worth considering if you aren't migrating more than a hundred people and time is not a big issue.
Via Exchange 2003
This seems to be one of the most frequently suggested migration tracks.
Exchange 2003 came with a tool called the Exchange Migration Wizard, which as I previously mentioned, offers a relatively straightforward way of moving from Lotus, Groupwise, or IMAP to Exchange.
The migration process is quite simple; create a text file called imapuser.csv containing the users name, e-mail address, password, and the IMAP server address in comma separated format. Use one line per account.
Start the Migration wizard and select Migrate From Internet Mail (IMAP4). Choose the appropriate destination server and browse to the CSV file that was created beforehand. Various options for account creation, password selection, and Active Directory placement are also specified before finalising the process and starting the transfer. A full run-through can be found here.
Of course this only gets you on to Exchange 2003. I would imagine that most people migrating from a different mail platform will want to move to the latest version of Exchange. If that's the case, then a transition from Exchange 2003 / Exchange 2007 will need to be performed after the initial migration to Exchange. I'm sure most people who follow this route will do so without a problem, but I'm not sure it's the best way to go. I would personally rather move directly to Exchange 2007 with a clean Active Directory schema that hasn't been upgraded.
I have seen several people on Microsoft's TechNet forums recommend this method of migration, but many people seem to be reluctant in case the schema is damaged and causes problems later on.
Use a third-party tool
If (1) money is not an issue, (2) there are large numbers of users to migrate, and (3) you don't want to use Exchange 2003 as an intermediate step, then it may be worth considering a third-party migration tool. One such tool is Transend Migrator. With a price tag of $1300 for 100 users, it's certainly not cheap. However, if you consider the amount of work involved in manually moving the mail or migrating via Exchange 2003, then a price tag of $13 per user really doesn't sound so bad. The migration options offered by Transend are extensive -- with source options including Lotus, Groupwise, IMAP, and Hotmail to name just a few.
I think the best way of moving to Exchange from an IMAP mail server very much depends on the number of users being moved and the amount of data to be transferred. If I had to migrate a handful of users with relatively small accounts then I think manually creating the user accounts and dragging the data across is a manageable process that should see very few complications. If more than 50-60 accounts need to be migrated and time is an issue, then I would personally prefer using a tool like Transend migrator to migrating via Exchange 2003, simply because it cuts out the intermediate step of having to first deploy Exchange 2003 and then upgrade after all of the accounts have been moved over.
Have you already moved from an IMAP mail server over to Exchange 2007? If so, I'd be interested to hear how you decided to go about it, what hurdles you came up against, and how it worked out. Leave a comment and tell us about it.