A few weeks ago I began discussing with one of my contract clients about moving their email hosting to Google Apps for various reasons. I have done a few Google Apps setups and it has become fairly simple. Google even offers some pretty handy and reliable tools to assist in migrating all of the user data from the old mail server to Google’s servers. So far I have not had any issues with getting data over almost 100% in tact and with the same hierarchy. That is, until the company that was using Windows Live Mail.
My first road block, which was very easy to overcome with a simple Google search, was what to do with Windows Live Mail messages. It’s storage is proprietary. Google’s migration software doesn’t allow for this. If I was dealing with one user who had a couple hundred emails, I could have easily setup an IMAP connection to the Google account and manually moved the messages over through the IMAP connection. But we’re talking about over 40GB of total emails between 9 users on 9 different computers. IMAP is slow and unreliable. The other option is to get emails from WLM to Outlook. Google’s Migration tool for Outlook would work just fine.
At first glance, WLM does not appear to support exporting to Outlook. At the same time, Outlook does not appear to have an import from Windows Live Mail option. However, WLM does have an option for exporting to Microsoft Exchange. And this works as long as you have Outlook setup with a default profile. You don’t have to even have an email account setup. Just open Outlook, say no when asked to create an email account, and allow Outlook to load with empty data. Then go back to WLM and use the export option with Microsoft Exchange as the export destination. Select the folders to be exported and then wait.
At this point you end up with a PST file containing the emails from WLM. I was getting kind of excited thinking that this would be so simple. I opened up the Google Migration tool for Outlook and went through the wizard. Contacts migrated over just perfect. Suddenly I was given a prompt that the migration was complete. 0 Emails transferred. I looked into the log and saw that the PST file was indeed accessed. I confirmed the contacts did get migrated, but no emails made it over. The log file also showed 0 messages for each of the folders inside the PST file.
I logged onto another computer and did the export and migration with the same results. Out of curiosity, I loaded Outlook on my personal computer and did a test run using WLM and Outlook and my personal account to a test account on their GA Domain with the same results. After a few Google searches, I found that quite a few other people have found themselves in the exact same situation. A working PST file with lots of emails that won’t migrate with the migration utility. I have noticed the emails have a different icon on them than a typical PST file containing POP/IMAP downloaded messages (versus WLM exported messages). All messages seem to have the unread icon. Unread messages have bold font as usual, but all messages have the unread message icon. I’m guessing WLM exports the messages into the PST file and stores them differently than an actual message. There are contact types, calendar types, post types, events, reminders, etc. I’m guessing the messages go over and store as a different type than typical email messages.
At any rate, I was at a loss as to how to get the thousands of emails migrated over. And quickly.
After a week of pondering this, I finally remembered that Google has a Migration utility for Exchange.
I spent a whole weekend getting a Windows Server configured with a free 120 day trial download of Microsoft Exchange Server 2013. I have never setup an Exchange server before. And it took me about 24 hours the first time around to get it working. My first attempt at this was using a VM for the server. After getting things setup and working, I ended up creating a partition on my HD and installing a native Windows Server 2008 OS for better performance for the migration. My VM kept hanging up with the Exchange software running full force as it was.
First let me explain my theory (which worked in the end): Migrate emails from WLM to PST. Migrate PST to Exchange. Use Google Apps Migration for Exchange utility to go from my local Exchange server to Google Apps. The GAMME utility, by the way, works with IMAP servers as well as Exchange. I actually ended up using the IMAP option.
Once you get your server setup with Active Directory services and then install Microsoft Exchange with Mailbox and Client Access roles, you can then login to your MS Exchange admin center and create users for each account. The email addresses do not have to match up. Meaning, for example, my local server has a user account for email@example.com which will map to my Google Apps account: firstname.lastname@example.org. This is done in a CSV file when setting up the GAMME utility.
After you get Exchange up and running and your users added, you then need to import your PST files. There are a couple of ways to do this. My first way was to load up Outlook, create a profile for 1 user, import the PST file and then wait until Outlook said “All folders up to date” which indicates that all the data imported from the PST file has been copied over to the Exchange server mailbox. This took quite a while. I will be doing another set of migrations this week and I am going to attempt to use a PowerShell script that will import a folder of PST files straight into the Exchange server mailbox. This should eliminate the need to do individual user imports as well as the need to have to wait for the data to sync. I’ll post my results on that process.
Overall, the process wasn’t too bad. It was a fun hands-on learning experience. If you happen to find yourself in a similar situation, feel free to post a comment. I would love to assist in any way I can in helping someone else through this type of migration.