I do not want to get into the reasons of why someone would want to migrate their email account from Zoho, a free/cheaper service, to GSuite, a paid service. For small businesses, Zoho is a really good service provider, but it has some drawbacks and so, if someone needs to migrate away from Zoho to GSuite, here is a tried and tested way to reduce your hassles with some handy tips along the way.
Now this is your business email, which means there is no reason you should trust an off the shelf, free/freemium, closed source product with a website filled with bright colored, blinking stickers saying “Free”.
You would not want to use a hundred different tools for conversions, it is just too much of an effort.
You would not want to give a tool full fledged access to your business email or account.
As you are migrating from Zoho, to GSuite, let us assume you do not use a Microsoft Windows machine, so random tools to convert various different email formats or ‘one-click’ transfer are not really for you, good riddance.
With that, here we go.
Step 1: Export Zoho Mails
Go to your Zoho email account, into the settings and select “Export History”. Now here, you have to select each of your folders individually to export and create a downloadable package. Select “All emails” as the date range. Wait for the archive to be ready, and download. Now you have, say 3 different zip files each containing all emails from specific folders in ’eml’ file format.
Name each zip conveniently so you know which one has which folder, without having to open it every time.
Step 2: Setup your GSuite Account
Go to GSuite home, and click “Start free trial”. GSuite shall then take you on a guided tour and ask you all the details about the account you wish to create.
Provide your domain name, if you already have one. Don’t worry about the migration of MX records, GSuite does it for you automatically, if they have integration with your host, if not there is a simple documentation on how to do it when you reach that stage.
Choose your plan. If you are coming from Zoho, you likely were on free plan. So go for the “basic” GSuite plan. Finish the setup.
At the end of the setup, you should now start receiving new emails on Gsuite instead of Zoho mail. And you will see that Zoho sends a security warning email, stating that the MX records seem to have changed, little do they know we are doing it deliberately.
When asked for billing in GSuite, there is a concept of Billing profile. A billing profile is like a billing record, linked to a Google account which can be chosen for certain payments. Some services let you create multiple profiles. Here though, it asks if this account is for a Business or an Individual. Since this payment profile will be used for paying on behalf of the business, select Business and proceed. Also, do check the tax implications of this by clicking the little info icon in front of the option.
Step 3: Setting up Thunderbird
Now on to the hard part. GMail/GSuite cannot directly import the ’eml’ files generated by Zoho export tool. This is where most of the confusion comes from in this migration. There are some tools offering to convert eml to mbox and some other tools offering to import mbox into GSuite; but none of these pass of considerations/criteria we started off with. So no game.
Thunderbird is an open source email client form Mozilla, and a brilliant one at it. After the setup if you can even consider keeping it around, for now. For now, we are just concerned with importing the Zoho dump into GSuite, so just download Thunderbird from their official website and launch it.
Thunderbird shall ask you login credentials to access the new email account. Once you enter your credentials, Thunderbird should autodiscover that the account is a GSuite account and pick imap.gmail.com/smtp.gmail.com as addresses. If this does not happen, it is mostly because the DNS records are still not synchronized and you should try again in some time.
Once you logged in, you should see 2 mailboxes in Thunderbird, one is your GSuite box and the other is something Thunderbird calls ‘Local Folders’ Local folders are, well, local and not synchronized with any online service. Go to Thunderbird’s file menu -> tools and open add-ons section and install an add-on called ImportExportTools.
For each of your exported directories, create a new folder under “inbox” in GSuite account. The folder gets translated as a label in GMail called “INBOX/<dirName>”. Create a new folder called “placeholder” under your Local Folders, we are going to re-use this folder.
Step 4: Importing EMails
In case you received any new mails in your new GSuite account, take a back up of those mails by exporting them from email options in GMail.
The next is a tedious, but critical step.
Unpack your Zoho packages into separate directories. Right click the “placeholder” folder and select “ImportExportTools” -> Import all messages from a directory -> Just from the directory. And navigate to one of your unpacked directories and click “Open”. This should import all the eml files in that directory into your local folder. Once the process is finished, select all the files in the folder and drag-and-drop them into the corresponding folder under your GMail/GSuite account.
Wait for the process to finish, it may take a few minutes depending on number of emails and network speed etc, but we need to do this one at a time. Creating multiple placeholder folders does not help, one of the process halts and then it needs to be repeated.
Creating a folder under online inbox helps in case something goes wrong, you can select the folder as a label in GMail and delete all the emails that were just imported.
GMail’s conversation identification works brilliantly in mapping the sent/received emails in conversation, so don’t worry about that. If you have to re-import a directory, Thuderbird automatically de-duplicates the email, so no need to worry about that either.
Now why did we import to local folders and then dragged the mails to online folder? Well, there is a known bug that happens if you directly import emails into an online folder, they lose the their initial timestamps. It is talked about in a lot of forums related to GMail, IMAP, in general. ALL EMAILS will look like they were received when they are actually uploaded to GMail and so the Local Folders step is crucial for this to work.
Step 5: Rearrange emails
Now that you have all your emails uploaded to GMail, they have correct time stamps, the conversations are mapped, the issue is these emails now have a weird label. Get rid of the label and move the emails to inbox by adding the inbox label to incoming emails.
You should now have a functioning mailbox in GSuite.