Thumbnail image

Email on My Terms

Table of Contents

To My Own Domain (at least for email)

I have been wanting to migrate my important emails to my own domain, for quite some time now. I just have never gotten around to it.

I have been on-in on Google’s gmail as my primary email service (and still am); however, as of late there have been too many posts1 2 about people losing access to their whole lives when Google decided to suspend their accounts. This wave of posts did reinvigorate my interest into moving to my own domain, but what pushed me over the edge was Google’s decision to kill the free legacy G Suite offering. (Update: Google has relented)

My Constraints

  • Minimal dependency on Google
  • I have multiple domains that I wanted to redirect to the main one
  • I need to be able to send from all of the domains without seeing the “sent via” designations (this should be as simple as configuring SPF and DKIM, but it wasn’t)
  • Support for catch-all email address
  • I wanted to give Hey a try – this made everything way more complicated!
    • Update: I have moved away from Hey. I may post a follow-up with details, but the short of it was that it wasn’t flexible enough (not the configuration, but the mail service was too opinionated).

TL;DR; The solution I ended-up with

  • Client: Hey
  • Outgoing: I have Hey configured with an SMTP server provided by MXroute. I had to use Cloudflare for DNS because hover doesn’t support longer DKIM keys.
  • Incoming: MXGuardDog -> CloudFlare -> Hey
    • Secondary domains: CloudFlare -> main domain as an email forward

Using Hey and their offering for custom domains.

I had seen Hey and been interested in giving it a try. They now have a custom domain offering, so I gave this a shot.

hey logo

This didn’t work for me because they offer “extensions” (receive-only) aliases, but I want to be able to send from some of these aliases. I could have created multiple accounts and linked them, but paying $12/month for each account I want to be able to send from - no thanks.

The Hey for domains does support for a catch-all address, but it all ends up in a separate area with none of the other Hey features. This is just bad!

I was also somewhat interested in their blogging platform Hey World (it is only supported on their non-domain product).

Sending from Hey

Hey offers the ability to send mail via SMTP serves, provided they support basic authentication.

G Suite SMTP Relays (Hey says no)

I was going to used the G Suite SMTP relay that I already had configured. I figured it was ok to loosen my requirement because I could easily find a new SMTP server if Google did something dumb. It is only for outgoing mail, so no real risk. But NO, Hey does some dumb checking based on the SMTP server’s domain and just refused to attempt to connect to G Suite servers.

Migadu (pricey)

I found migadu and configured my domain records (DKIM, SPF, and DMARC). All good, until I quickly ran into their sending limits of 20 messages per day. I could have upgraded, but I wasn’t in this for another $9/month. If it wasn’t for this price being a bit too much, it would have been a good option.

MXroute (mail storage)

I then gave MXroute a try. They even had a lifetime promo - $175 forever (break-even of less that 2 years).

I was now able to forward my emails to Hey and use MXroute to send emails from Hey (for as many accounts and domains as I wanted). The issue is that MXroute stores emails it received and I had a limit of 10GB. I could just periodically clear out the mailboxes, but who wants to remember to do this?

I needed to figure out another way to receive and forward incoming messages, but MXroute is my solution for sending mail.

Hover (small TXT records, no catch-all mail forwarding, pricey mail forwarding)

Most of my domains are with Google Domains, but wanting to have this free from Google’s hands I didn’t use them. I chose hover.com (I have used them before and they offer solid domain registration with limited up-sells and free whois privacy).

The issue for sending mail is that their TXT records are limited in size to 512 characters and MXroute uses a DKIM key that is longer than that. I could disable DKIM, but no thanks.

Over to Cloudflare for DNS.

Getting mail to Hey

Another issue with hover is that they charge for email forwarding (not much though, $5/year) and do not even offer catch-all email forwarding.

Cloudflare just happens to have beta email forwarding offering. Once I was approved to use it, everything worked just great. (I would have used forwardemail if they didn’t).

Dealing with Spam (MxGuardDog)

Hey does a good job of filtering Spam, especially since you have to screen every sender, but I wanted some more control (source country, language, destination address, etc), so I added MXGuardDog in the loop, and now everything is hunky dory.

I do want to note that Cloudflare says my domain isn’t correctly configured for email, because my MX records are MXGuardDog, but everything works fine.

Things That Still Don’t Work Right

The main things I’m still not happy with are:

  1. Hey won’t let me filter or tag incoming email based to the to address.
  2. I need to be conscious of what address the email was sent to and change the from address when responding.

Doing It Again

I’m still on the fence about Hey and not too happy with the two things mentioned above, but if I decide it isn’t worth the price I would do one of the following:

  • fastmail - their standard plan supports multiple domains and aliases with sending
  • protonmail - you have to pay per domain and custom address, but not a lot (domains: $2.00/month & anow possible to syndicate an authors existing content (with permission, of course) and publish it on your Ghost site with a custom canonical that points to the original published version. All you need to do is add the full URL including https:// to the new canonical URL field in post settings.ddresses: $1.00/month) and you can save by forwarding if you only need to receive for a given domain/address.  I love the privacy and encryption, but I’m worried about the lock-in.
  • forwardemail +MXroute (until they launch their SMTP server)

  1. https://news.ycombinator.com/item?id=24254484↩︎

  2. https://news.ycombinator.com/item?id=19124554↩︎