Migrating email to Google Apps, 2015 edition

Did another email migration, about 50K emails, to Google Apps last week, this time from a very ancient mail system on Verio.  A few more notes to add from this time around:

  1. First step was to lower the TTL to 600 on the MX records.
  2. Verio offers both an IMAP and POP interface, with ports documented here.
  3. The Verio username to authenticate the email account is the person’s mailbox name (e.g., “joe”).  It is not the username used to log into the Verio control panel.  This wasn’t documented anywhere.  If you use the latter, you can actually set up an IMAP account in Outlook with it, send and receive mails successfully (from joe’s account no less!), but no mail is synced.  So once I figured this out, I could set up an IMAP account and downloaded all 50K emails, 3GB worth, over the course of a day.
  4. However none of the official migration tools from Google worked for various reasons:
    1. The Data Migration Service was the first option, but failed since the Verio server lacks a valid SSL certification.  Verio also uses usernames (not email addresses) to authenticate IMAP, which the tool doesn’t allow.
    2. Then tried GAMME, but never could configure it to authenticate with this ancient mail server.  Looks like it was using Dovecot but kept returning garbage.
    3. Next option was Mail Fetcher – but that doesn’t work since in this case we’re fetching from the same address, which isn’t allowed.  If the MX records still point to the old server I don’t see why they’d prevent this since that seems like a perfect scenario for this feature.
    4. Then went to Google Apps Migration for Microsoft Outlook – however, this only works on PSTs (generated by a POP account) and not the OSTs used by IMAP accounts.  This too, wasn’t documented.  So I had to spend another day syncing to Outlook via a new POP account.  So I then launched the tool but unfortunately, I could only get ~ 100 mails to sync at a time before it errored out.  So I gave up on this.
  5. This left me with only the “Outlook copy-paste” option:
    1. In the G Suite administration dashboard:
      1. Search for “password management” and uncheck “require strong password”.  You can revert this setting when you’re done.
      2. Search for “less-secure apps” and for the organization, choose “Enforce access to less-secure apps for all users”.  This will allow Outlook to work.  You will revert this setting when you’re done.
    2. Log into the user’s account at gmail.com and go to Gmail->Settings, turn off Conversation View so you can see the real number of items in a folder
    3. In Outlook:
      1. outlook /safe
      2. Create a new profile
      3. Do not add an account
      4. After Outlook is opened, open the PST file
      5. Set up a new IMAP connection for the G Suite account
      6. Disable scheduled Send/Receive
      7. Create a new folder (if needed) in the IMAP account
      8. Unsubscribe all existing folders in the IMAP account if you can
      9. Easiest is to copy the folder by right-clicking the folder in the PST, and then choosing the destination of the IMAP account root (you can enqueue multiple folders this way).  If that doesn’t work, then manually copy all 50K emails from the Verio POP account to the IMAP account.
      10. Patiently let it Synchronize
  6. Unfortunately Outlook throws an ugly error dialog and halts the synchronization when it tries to sync a message that’s bigger than 25MB so I had to keep manually restarting it.  Hopefully this is fixed in the next version of Outlook so it can continue in the background.
  7. But a few days of this and everything finally made it up to the Google Apps folder.  I then logged into the webmail interface, and moved all the mails to the Inbox and deleted the temporary label.
  8. Last, I switched the MX records to point to Google’s and raised the TTL to a more normal 3600.

Looks like it was all successful, and the email is in a much better, more reliable, and more secure system now.

Leave a comment

Your email address will not be published. Required fields are marked *