How to Send Emails Using Gmail SMTP with Cloudflare Email Routing?
Pierre-Henry Soria ✨
Posted on August 20, 2024
In this dev post, I will describe here the steps you can use for sending emails through Gmail SMTP with Cloudflare Email Routing. There can be various reason where you want Cloudflare to forward emails directly to your Gmail account, and you, being able to reply directly with your new alias email. For cost-efficiency for instance (no SMTP mail server required, and/or easier to setup and manage than our own one, etc).
In my case for instance, I have Cloudflare with my DNS pointing to Webflow and AWS for the SaaS products and APIs. I don’t want to worry about my email addresses. I just prefer to forward them to Gmail directly.
You will see, it’s actually very easy and handy thanks to the free Cloudflare Routing option (that it has now been available for over two years, part of the free Cloudflare tier!)
1: Create Google App Password
To ensure the configuration we will do with the alias email works, we need to create a Google App Password first, as otherwise we will be blocked by the two-factor authentication (2FA) when we authenticate to Gmail SMTP (if 2-Factor Authentication is enabled which is highly recommended anyway).
For creating an App Password for Gmail, you need to go to Create an App Password in your Google account. Direct link is: https://security.google.com/settings/security/apppasswords
Generate it and keep the unique password safe.
2: Add Cloudflare Email to Gmail Alias
In Gmail, go to Manage Labels (AKA Settings) → Accounts and Import → Add another email address.
There, type your desire name and your Cloudflare-routed email address.
Check the "Treat as an alias" box, and click next.
3: SMTP Details
Mention the following configuration:
SMTP Server:
smtp.gmail.com
Port:
587
(it's the recommended TLS port over465
, as now outdated).Username: Your Gmail username (the first part before the
@
. If your email ispierre@gmail.com
, it will bepierre
Password: The generated password you copied from Google App Password.
Encryption: Select TLS
Once saved, you will receive a confirmation email from Gmail. Click on the link to confirm the added email.
4: SPF Record & DMARC Policy
Still in your Cloudflare account -> DNS, add the following:
SPF Record
-
Type:
TXT
-
Name:
@
-
TTL:
auto
- Content:
v=spf1 include:_spf.mx.cloudflare.net include:_spf.google.com ~all
DMARC Policy
To help both email recipient and sender from threats such as email spoofing, phishing, and spam attempts, you should also add a DMARC Policy to monitor emails. Ensure the p
parameter is set to none
.
In Cloudflare DNS, create a new TXT record:
### DMARC Record
-
Type:
TXT
-
Name:
_dmarc
-
TTL:
auto
-
Content:
v=DMARC1; p=none; rua=mailto:YOU@YOUR-DOMAIN.COM
DMARC with Multiple Email Addresses
To handle multiple emails, you need to add them separated by a comma, one after the other.
v=DMARC1; p=none; rua=mailto:user1@domain.com, user2@domain.com
——-
Enjoy! 🥳
You’re now all set! You can send emails using Gmail SMTP with your Cloudflare-routed email address. When replying to emails, your Cloudflare email address should automatically appear in the From: field.
I hope it will help 🤠
Posted on August 20, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.