Skip to main content

Free custom domain email

· 3 min read
Jonathan Nye
Engineering @ Tesla

I've always wanted to have my own domain and to be able to send and receive emails using it. What I haven't wanted is extra monthly subscriptions.

This guide explains how I managed to set up my existing Gmail inbox to be able to send and receive emails without a monthly cost. The only cost is a domain if you don't already have one.

The goals:

  • Use an existing email inbox with a custom domain.
  • Send and receive emails with the custom domain.
  • Be completely free ($10/year)

Things you need

  • An existing email account, I use Gmail.
  • A Cloudflare account.
  • A domain name on Cloudflare. Transfer it to or buy one using the Cloudflare registrar.
  • An email SMTP server such as Brevo, SendGrid or another of your choice. These allow you to send between 100 and 300 emails a day for free which should be fine for personal purposes.

Enable email forwarding

This part is done within the Cloudflare admin. Cloudflare will forward any emails received on your domain name to an email address of your choice.

This means you can forward [email protected] to [email protected].

  • Go to Email on the left menu bar.
  • Enable email forwarding for your domain.
  • Add the email DNS settings required by Cloudflare. This can be done automatically.
  • Add a destination address, and verify it.
  • You can either use a catch-all which forwards every email sent to your domain, or only forward specific email addresses.

In the end, you should have something that looks similar to this:

cloudflare-email-routing.png

Enable email sending

This part will be done within your SMTP provider and Gmail (or another email provider of your choice).

SMTP service setup

  • Authorize/validate your domain under Senders and IPs by adding all the records from the email sender to your Cloudflare DNS page.
  • Add the SPF record to your existing SPF record which was created by Cloudflare instead of creating a new one.

Gmail setup

  • Open Gmail settings and go to the Accounts and Import page.
  • Click Add another email address.
  • In the popup window, leave treat as Alias enabled and enter your custom email address that you wish to send from.
  • In the SMTP page, fill in the SMTP settings from the SMTP provider you set up earlier.
  • Validate the email address. This allows you to test that everything is working.
  • Optional: Set this as your default email address in Gmail.

You can send and receive from as many email addresses as you like on your own domain.

Prevent your custom domain email from being detected as spam

Custom domains are often flagged by the spam filters on many email services.

There are a few ways to improve your email deliverability. These steps basically provide some proof that your domain should be trusted, and only trusted senders can send emails using your domain.

If you followed the instructions above most of these steps should already be completed. In case you are having trouble, double-check that all these records exist:

  • Have an MX record for your domain, so you're able to accept responses.
  • Set up an SPF record for your domain.
  • Check to see if your sending IP address is on any blacklists. Get it off if you can.
  • Set up DKIM authentication.

Conclusion

Congrats, you should be able to send and receive your email on your custom domain. Completely for free!

Thanks for reading, and let me know if you encountered any issues.