Life after GSuite: Two months into Zoho

We migrated from GSuite to Zoho at the end of January after Google announced that legacy Apps for Domains (AfD) accounts will be closed.

Migration away from Google (after over a decade of use) was not going to be without it's pains, but (as I laid out at the time) I felt that there were too many drawbacks to GSuite/Workspace to be able to justify actually paying Google.

So, I went in search of suitable alternatives, some of which are listed in that earlier post. Microsoft's Office365 almost won the day, but was scuttled by their insane choice to require GoDaddy be the registrar for any vanity domains.

Ultimately, I opted to go with Zoho and documented the process of migrating our accounts and data over.

We've all read (if not written) posts about migrations: they're full of optimism, naivety and excitement, but never tell the story of life with the new provider (because the author has not yet experienced it).

With Google's AfD deadline looming, I thought it might be useful to write about my experience after the first couple of months of being on Zoho

It's boring

This really isn't a criticism, no-one wants their mail or productivity suite to be exciting, it's supposed to be boring.

I have had (touch wood) no notable events on Zoho:

  • no outages
  • no billing errors
  • no lost data
  • no account screw-ups

Equally importantly, not once has the interface changed and they haven't suddenly tried to seperate my inbox into categories.

Unable to add an address to mail allowlist

I have various cronjobs that send me emails - more than a few of those can end up getting mistaken for spam (and quite rightly).

In Zoho's anti-spam settings there's an option to add email addresses to either an allowlist or a blocklist.

Zoho anti-spam settings

However, it applies an email validation filter to the submission, so it's impossible to allow or block mail which doesn't originate from an email address considered "valid" by that code.

Unfortunately, my cron reports come from cron@hostname which fails the filter's validation. Technically, this is a valid email address, but (to be fair) validating email addresses is much, much harder than most expect.

Stopping my cron mails from being spamboxed was obviously fairly simple - I just updated the From header to be something that does pass validation so that I could whitelist it.

But, it does leave another potential problem.

The From header in email is basically a free-text field, other than being provided, it's often not used during delivery and isn't validated by Zoho.

What this means is that we have two contrasting approaches

  • From addresses aren't validated during delivery
  • Addresses are validated when managing the blocklists

As a result, in practice, I can deliver mail to myself using a From address that I can't then block:

$ telnet 25
220 SMTP Server ready January 24, 2022 4:46:43 PM CET
HELO mydomain.invalid
250 Hello mydomain.invalid ([my ip] ([my ip]))
250 Sender <me> OK
RCPT TO: <[my address]>
250 Recipient <[my address]k> OK
354 Ok Send data ending with <CRLF>.<CRLF>
To: Ben <[my address]>
From: support
Subject: Hello World 2

Lets try this

250 Message received

Which ends up as

Zoho anti-spam settings

But, mail sent in this manner does consistently get classified as spam, so it should only really be a problem if there's stuff you want to allow.

Still, it'd be nice to see it fixed - input and output really should use consistent validation rules.

Timed Delete Filters

On the subject of mail filtering, one feature I've noticed in Zoho is the Delete after N Days mail filter:

Zoho anti-spam settings

This is a pretty killer feature for me: I'm subscribed to a lot of mailing lists, but I rarely (if ever) re-read mails from most of them.

As a result of this filter, those mails automatically tidy themselves away after a set period of time.

Zoho Drive Offline Behaviour

One of the things I used to use Gsuite for is our shopping list - when I go down to do the food shop, I'd have Docs open on my phone and work through deleting each line as I go.

However, my local supermarket is also a mobile not-spot: there's no signal at all once you're down the far end of the aisles.

I've found that Zoho's Writer app doesn't cope particularly well with this. It's happy to let you view a document with no data connection (as long as it was already cached), but it's not quite so happy to let you edit the document and will keep throwing up an error dialog.

It's not the end of the world, but was more than a bit of a pain the first time I ran into it.

Interface Clarity

There have been a few functions that I, incorrectly, thought were missing from Zoho.

For example

  • Mark as Unread in the email view of the App
  • Insert code block in the mail's WYSIWYG editor

However, it turns out that they were there, just not in a way that was immediately obvious.

Zoho Mail Interface

See that little circle in the top-right of the grey bar? Tap that and it marks the mail as unread. Easy once you know it, but really quite non-obvious when you don't.

The WYSIWYG editor doesn't have an "insert codeblock" button, what it does have is an "insert HTML" button, allowing you to put whatever you need in.

That's actually more useful than what I was looking for: in the past, I've occasionally needed to put a table into an email, and so have had to resort to using the browser's developer tools to enter one into the mail body in Gmail.


One of Zoho's weaknesses is it's ability to integrate into Android's contact system.

To be fair, that's not Zoho specific - third party contact sync integration on Android sucks. The choices are essentially between an "always on" app that performs the sync, or configuring an Exchange Activesync connection (much preferable, but doesn't seem to work well on Xiaomi kit, for whatever reason).

Given that Google now say they intend to provide and option to move to a no-cost solution I've not really put too much effort/thought into addressing this - for now, we're still using Google contacts and will likely just migrate them over to a free account.

Spreadsheet Formulas

I found that some of the spreadsheets I migrated across didn't work properly when I added new rows.

My original had columns with conditional formulas in them


So, if A123 has a value, return Yes if not, No.

All the existing rows had the expected values (turns out, results get cached - obvious when you think about it), but anything I tried to add would return #VALUE

After a bit of poking around, the reason was that Zoho required the test to have both a left and a right

=if(A123 <> "","Yes","No")

However, this has since been fixed and my original formulas now work.

My Fault: Borked Copy/Paste

This isn't Zoho's fault at all. I include it because, if you can't laugh at yourself, who can you laugh at?

Early users of Apps for Domains may remember that Docs/Sheets used to require a browser plugin (shudder) in order to copy and paste.

A week or two into moving to Zoho, I thought I'd made a horrible mistake and moved to a provider that required the same: Ctrl+v wasn't working, and using Paste within the interface gave a worrying dialog

Don't make me install a browser extension, pleeeze

However, after a few minutes of frustration, the penny dropped.

I'd also recently flipped in Firefox's about:config in order to stop sites from disabling pasting into password dialogs (something that, to quote the NCSC, is "completely pointless" and "damaging").

Obviously, paste within Zoho Docs (and GSuite, I just tested) needs the clipboard paste event to fire in order to be able to... well... paste.

Support Engagement

Anyone who's used Google products for any period of time will know that support is extremely limited. There may be a Google group you can mail into, but many aren't actively watched and some issues seem to remain ignored and unfixed for years.

In comparison, Zoho have been a breath of fresh air.

They engage on Twitter and they respond to Support and Feature Requests by email.

I'm only paying £12/month, so I don't expect miracles, but so far their support really haven't let me down.


Most of the things I've complained about here really are quite petty, which is a good thing. The one thing that I want from email (and associated productivity tools) is that it to just work, day in, day out.

So far, Zoho has done exactly that for us. What little issues I've found have often been fixed (or their support team have politely told me how to do the thing I thought was missing).

The migration has even brought me features that I didn't know I was missing. I'm still not going to get excited about a productivity suite, but... my mailbox now tidies itself up!

On that subject, it also means I've been able to see what GMail's interface does when you have no mail

No Mail

I suspect that we'll be using Zoho for quite a while. Even in the unlikely event that Google u-turn, I think we'd stay where we are - we've seen how green the grass is on the other side now. I suspect that there are probably more than a few ex Apps for Domains users who are finding the same (wherever they've ended up).