saulutions.ca

// blog post

Free Custom Domain Email with Cloudflare and SMTP2Go

4 min read
#email #cloudflare #self-hosting #guide

I wanted a professional email address for my domain, something like michael@saulutions.ca instead of a generic Gmail. Turns out you can set this up for free in about 15 minutes using Cloudflare and SMTP2Go, and it all works through your existing Gmail inbox.

Here’s what we’re building:

  • Receive emails at you@yourdomain.com (Cloudflare Email Routing → Gmail)
  • Send emails from you@yourdomain.com (Gmail → SMTP2Go)
  • No mail server required - everything routes through services you already use

What You’ll Need

  • A domain with DNS managed by Cloudflare (free plan works)
  • A Gmail account (or any email you want to receive at)
  • An SMTP2Go account (free tier: 1,000 emails/month)

Step 1: Set Up Receiving with Cloudflare Email Routing

This is the easy part. Cloudflare has a free email routing feature that forwards emails from your domain to any existing email address.

  1. Log into your Cloudflare dashboard
  2. Select your domain
  3. Go to Email Routing in the sidebar
  4. Click Get started if this is your first time
  5. Cloudflare will ask to add the required MX and TXT records, so click Add records automatically
  6. Under Routing rules, click Create address
  7. Set up your route:
    • Custom address: the email you want (e.g., michael)
    • Destination: your Gmail address
  8. Click Save

Cloudflare will send a verification email to your Gmail. Click the link to confirm.

That’s it for receiving. Emails sent to you@yourdomain.com now land in your Gmail inbox.

Optional: Catch-All

If you want any address at your domain to forward to your Gmail (e.g., support@, info@, anything@), enable the Catch-all rule and point it to your Gmail.

Step 2: Create an SMTP2Go Account

Cloudflare Email Routing only handles receiving. To send from your custom address, you need an SMTP service. SMTP2Go’s free tier gives you 1,000 emails per month, more than enough for personal use.

  1. Go to smtp2go.com and sign up
  2. Once logged in, go to SettingsUsers
  3. Click Add SMTP User
  4. Set a username and password, and save these because you’ll need them
  5. Note the SMTP details:
    • Server: mail.smtp2go.com
    • Port: 587 (TLS) or 465 (SSL)
    • Username: your SMTP user
    • Password: your SMTP password

Add Your Sender Domain

SMTP2Go needs to verify that you own the domain you’re sending from.

  1. Go to SettingsSender Domains
  2. Click Add a Sender Domain
  3. Enter your domain (e.g., saulutions.ca)
  4. SMTP2Go gives you DNS records (DKIM, SPF) to add in Cloudflare
  5. Go to your Cloudflare DNS settings and add those records
  6. Back in SMTP2Go, click Verify and it should go green

This step is important. Without it, your emails might get flagged as spam or rejected entirely.

Step 3: Configure Gmail “Send Mail As”

Now connect everything so you can send from your custom address right inside Gmail.

  1. Open Gmail → click the gear icon → See all settings
  2. Go to the Accounts and Import tab
  3. Under Send mail as, click Add another email address
  4. Enter:
    • Name: Your Name
    • Email address: you@yourdomain.com
  5. Click Next Step
  6. Enter your SMTP2Go credentials:
    • SMTP Server: mail.smtp2go.com
    • Port: 587
    • Username: your SMTP2Go username
    • Password: your SMTP2Go password
    • Select Secured connection using TLS
  7. Click Add Account
  8. Gmail sends a verification code to you@yourdomain.com, and since you set up Cloudflare routing in Step 1, this arrives in your Gmail inbox
  9. Enter the code or click the confirmation link

Set as Default (Optional)

Back in Accounts and Import, you can click make default next to your new address. Now all outgoing emails send from you@yourdomain.com by default.

The Result

You now have a professional email that:

  • Receives at you@yourdomain.com via Cloudflare (free)
  • Sends from you@yourdomain.com via SMTP2Go (free tier)
  • Lives in your Gmail inbox - no separate app, no mail server
  • Replies go out as your custom domain, not your Gmail address

Total cost: $0 (assuming you already have a domain on Cloudflare).

Bonus: Contact Form Integration

If you have a website, you can use the same SMTP2Go credentials to send contact form submissions to yourself. I use nodemailer in my Astro site’s API endpoint to send form submissions through SMTP2Go, and the email arrives in my Gmail from contact@saulutions.ca with the visitor’s email as the reply-to address. Hit reply, and I’m responding from michael@saulutions.ca.


Questions? Feel free to leave a comment below or get in touch.

Comments