Strategic Website Design and Development

A Site Builder's Blog

Sharing information about building and managing Joomla! websites

Migrating email from cPanel to Google Apps

Posted by Ron van Schaik
Ron van Schaik
Site Builder, Entrepreneur and Internet Enthusiast.
User is currently offline
on Wednesday, 05 October 2011 in Joomla Administration

No Email Left Behind. Migrate your email to Google Apps!


The email supplied by hosting companies are convenient and easy to configure. This often makes them seem ideal when starting a new site. We simply add additional accounts, and the user simply logs into the provided webmail applications such as Horde, RoundCube or SquirrelMail, or configure Outlook or Thunderbird or some other client. This is a great and simple option, but becomes difficult to manage. After a while these can become cumbersome to manage and you may start to explore different options.


When Qualitas Strategies approached me to develop their site they were using a hosting company that has especially troublesome email settings, another of my clients found their hosting company had very effective hosting for their site, but they were not satisfied with their email system.

After exploring some options we looked at Google Apps since almost everyone was already familiar with gmail. It turns out that the free account will satisfiy the needs of most small businesses. Google Apps Free includes email (on your domain), Calendar and Google Documents for up to 10 users. When creating a new domain life is simple, the last section we will discuss how to migrate existing emails from the host cPanel email to Google Apps.

Preparing to set up Google Apps

If you are planning to move existing email messages there are a few pieces of information that are required in order to make sure you can migrate smoothly

  • Usernames and Passwords for all users (IMAP login info) - You could provide a new temporary password to each user before the migration and reset them in the host's control panel just before starting the migration.
  • Direct IP or servername where current email is hosted (once you change the MX records you may no longer be able to access the mailserver through the existing server name). You may need to contact your host's support to get this information.

Setting up Google Apps

  1. Create your free account for the domain you want to use at
    the free account will satisfy most needs.
  2. If you are migrating existing users make sure to set up all up all the users now. If you are not moving existing emails you can create all but the admin user later.
  3. Create the user.csv file for all the accounts for which email messages are to be migrated.
  4. Change the MX records in your hosts' cPanel (note you will be warned that this may take 48 hours, in my experience this usually happens in minutes). Be sure to write down the existing info in case something goes wrong and you need to restore the original settings.
  5. Activate your email(s) in Google Apps (creating an account does not active the emails)
  6. Migrate existing emails from your host to the correct.

Step 1. Create a Google Apps account

This is very straightforward simple go to and follow the prompts. This free account can be upgraded to a full Google Apps Business account which increases each mailbox from about 7GB to 25GB, allows for unlimited users (pay per user), as well as Video Hosting and other additional Apps.

Step 2. Set up additional users.

During your setup you will be asked whether you want to set up additional users, if you are moving existing email messages, make sure to set up all users now. If you do not set up all users, you will need to migrate each one seperately.

Step 3. Create the user.csv file

  • Open a simple text editor (notepad is fine)
  • Create a seperate line for each uder with their user info (see below)
  • Save file as user.csv (any filename with .csv or .txt should work also)

The easiest way will be to use IMAP logins since it will likely work with most hosting setups.


user1#user1password, google_apps_user1


user1 is the login name of the old email account (usually the full email such as This e-mail address is being protected from spambots. You need JavaScript enabled to view it )
Leave the #
user1password is the password of the old email account
Leave the comma and space
google_apps_user1 is simply the new email/user account (likely This e-mail address is being protected from spambots. You need JavaScript enabled to view it , but you can actually 'send' all the emails to another user at another domain)

Step 4. Change the MX Records

This can be a little more confusing and is different or each hosting company, in some cases you will not have access to this and must ask the host's support to do this for you. If you are unsure you can simply send a support ticket to your host and ask them to make the required changes.

The details for the MX records can be found here in Google's help articles note that the next tab has a nice utility that lets you check your settings.

Step 5. Activate your emails

Once you have changes the MX records you need to confirm in Google Apps that you have changed the settings, At this point you will have a link with each email to activate. Simply follow the directions to click the link "Dashboard" menu item and look for Email under Service Settings (It will be checking for MX records for the domain, it will continue to do so even when email is already working). Click the Activate link.

Step 6. Migrating your existing messages

This is the crucial and difficult step that will make your employees/clients happy. It is also the step that may be most difficult and often missed. Let's be better as a Joomla! community and rock all our clients!

  • Download the Google Apps Migration For Microsoft Exchange application (for other methods see )
  • Enter the hostname or IP (the one you got from your host while preparing) - This is the website hosting companies information
  • Enter your Google Apps domain
  • Retrieve and enter your Google Consumer Key (In top menu select Advanced - Manage OAuth Domain Key), it may simply be your domain
  • Retrieve and enter your Google Consumer Secret Key
  • Enabled Two-Legged OAuth access control while retrieving the keys
  • Select the users.csv file we created earlier to let the tool know what accounts will be moved (this is required even for a single user)
  • On the additional options screen leave everything unchecked to retrieve all info
  • On the start screen make sure Migrate is checked so that all the data is actually transferred
  • Start - This may be time for a nap, it can take quite a while. (On a test site a single account with 160MB data in over 2000 messages took about 50 minutes)

Now all your emails should start appearing in your Google Apps Emails. make sure you test both sending and receiving, and have all users test for themselves.


Other resources and methods from Google

The start of the section of the Google's Apps Administration Guide on which these instructions is loosely based

Google email uploader for MAC to transfer your Apple Mail, Eudora or Thunderbird mail to Google Apps.

Google Apps Migration for Microsoft Exchange Web Tutorials video


I hope this helps you make your employees/clients happy

Any feedback and suggestions are very welcome!

0 votes
blog comments powered by Disqus
You are here: Blog Ron van Schaik Migrating email from cPanel to Google Apps