Featured image of post Free Custom Domain Email: Receive via Cloudflare Routing & Send via Resend + Gmail

Free Custom Domain Email: Receive via Cloudflare Routing & Send via Resend + Gmail

For bloggers and indie hackers, having an email address with your own domain is a must. Since personal usage usually isn't that high, a free setup is the way to go. Here is how to get a free professional email for both sending and receiving.

Intro

Whether you are a blogger or an indie developer, having a professional email address with your own domain is super important. However, since most individuals don’t send a ton of emails, a free service is the best way to start. Today, we’ll use Cloudflare Email Routing to handle incoming mail, and Resend + Gmail to handle the outgoing side.

Cloudflare Email Routing (Receiving)

Set up DNS

To use Cloudflare’s email routing, your domain’s Nameservers (NS) must be pointed to Cloudflare. Once your domain is added to Cloudflare, go to the domain dashboard and find Email -> Email Routing. It will walk you through setting up the necessary DNS records automatically.

Auto DNS Config

Set up Routing Rules

Go to Routing Rules -> Create address to set up your custom email address.

Add Routing Rule

For example, you can set it to [email protected] and have it forward to your personal Gmail address, like [email protected]. Set the action to Send to email. If this is your first time using that Gmail address here, Cloudflare will send a verification email. Just open your Gmail and click the link to confirm.

Set Forwarding Rule

And that’s it for receiving! It’s very straightforward. You can try sending a test email to your new custom address to make sure it shows up in your Gmail inbox.

Set up Resend + Gmail (Sending)

Resend offers 3,000 free emails per month, which is more than enough for most bloggers and indie devs.

Add Domain in Resend

Click Domains on the left sidebar, then Add domain.

Add Domain

Enter your domain name (e.g., abc.com) in the Name field and keep the rest as default.

Set Name

Configure Resend DNS

Since our DNS is managed by Cloudflare, this part is easy. Just click Sign in to Cloudflare, and it will handle the DNS setup for you automatically.

Set DNS

Create an API Key

We’ll be using Gmail to send emails through Resend via SMTP, so we need a Resend API key. Go to API Keys -> Create API key.

Create API Key

Configure it based on your needs. For Permission, you can pick Full access or Sending access. Make sure to select your domain.

Set API Key

After clicking Add, a Token will pop up. Copy that long string starting with re_xxxxxxxxx right away—it only shows up once!

Now, the Resend side is all set.

Set up Gmail

Open the Gmail account you used for Cloudflare routing. Click the Gear icon in the top right and select See all settings.

See all settings

Go to Accounts and Import -> Send mail as -> Add another email address.

Add Another Email

The Name is what people will see when they get your mail. The Email address should be the custom domain address you set up in Cloudflare. Uncheck Treat as an alias.

Set Address

Set the SMTP Server to smtp.resend.com. The Username is resend, and the Password is the API Token (re_xxxxx) you just created. Set the Port to 465 (other ports might fail depending on your setup). Leave everything else as default.

Set SMTP Server

That’s it! Gmail is ready. Now, when you compose a new email, you can click the “From” field and switch to your custom domain address.