Using custom domain with free Gmail accounts
TL;DR We are using our custom domains via Gmail interface through SMTP2GO (free) SMTP Server to send emails, and Cloudflare (free) Email Routing to receive emails.
The goal: free custom domains for our emails on the free Gmail client (send and receive).
When we were using Google Domains with Gmail, the two services worked well together. We moved on from Google Domains and I set up our hosting on Cloudflare. Cloudflare is wonderful and natively supports Email Routing. However, it doesn’t provide a Email Server (SMTP).
We could rely on the free Gmail’s SMTP as default, but it doesn’t support DKIM signing, which lowers the chance of deliverability and renders DMARC records useless.
Bottomline: I want to be able to send emails without worrying about it going into spam. I found a good workaround via SMTP2GO.
The problem I wanted to solve are:
- Cloudflare does not offer Email hosting (SMTP Server)
- The free Gmail accounts do not natively support DKIM signing for custom domains
- This increases spoofing risks (read more here) and lowers the deliverability / increases spam risks
- Be able to publish a strict DMARC policy (
p=reject
)
The basic setup
- Use Cloudflare (free) Email Routing to receive and forward emails to your Gmail
- Set up Cloudflare DNS & Email Routing
- The Email Routing dashboard lets you see which emails successfully got forwarded to your Gmail (pretty cool!)
- Use SMTP2GO as a (free) SMTP server to send emails through Gmail
- Sign up on SMTP2GO and verify your domain by configuring your DNS on Cloudflare
- There is a 1,000 / month email limit for the free plan
Below are edited instructions from Perplexity. My query was “Give me detailed instructions to set up smtp2go as a smtp provider for my custom domain.”
I combined it with this Gist on Using Gmail SMTP with Cloudflare Email Routing.
- Buy a Domain:
- Get one from a registrar and set it up on Cloudflare (we use our
firstnamelastname.org
)
- Get one from a registrar and set it up on Cloudflare (we use our
- Set Up Cloudflare:
- Add your domain to Cloudflare
- Go to the “Email Routing” tab in Cloudflare Dashboard.
- Enable “Email Routing” and create a custom address (e.g.,
[email protected]
) - Forward your custom email to your free Gmail address.
- Create an SMTP2GO Account
- Go to the SMTP2GO website and sign up for a free account.
- Complete the registration and log in to the SMTP2GO dashboard.
- Add Your Custom Domain as a Verified Sender Domain
- In the SMTP2GO dashboard, navigate to Settings > Verified Senders > Sender domains.
- Click Add sender domain.
- Enter your custom domain name (e.g.,
yourdomain.com
) and click Continue with this domain. - SMTP2GO will generate three CNAME DNS records for your domain. These records handle SPF alignment, DKIM signing, and tracking.
- Add the Provided CNAME Records to Your Domain DNS
- Log in to your domain registrar or DNS hosting provider (e.g., Cloudflare).
- Go to the DNS management section.
- For each CNAME record provided by SMTP2GO:
- Create a new DNS record of type CNAME.
- Enter the Hostname (sometimes just the first part of the full hostname) as the record name.
- Enter the Value provided by SMTP2GO as the target.
- Save the record.
- Repeat until all three CNAME records are added.
- Note: These CNAMEs replace the need to manually edit SPF or DKIM TXT records because SMTP2GO uses these CNAMEs to handle SPF alignment and DKIM signing on your behalf.
- Verify Your Domain in SMTP2GO
- Return to the SMTP2GO dashboard in the Sender domains section.
- Click Verify next to your domain.
- SMTP2GO will check the DNS records and confirm when your domain is verified. This may take some time due to DNS propagation.
- Set up SMTP Users on SMTP2GO
- These username / password pair are used to configure your Gmail (e.g.
[email protected]
)
- These username / password pair are used to configure your Gmail (e.g.
- Configure Gmail to Send via SMTP2GO
- Open your Gmail account.
- Go to Settings (gear icon) > See all settings > Accounts and Import tab.
- Under Send mail as, click Add another email address.
- Enter your name and your custom domain email address (e.g.
[email protected]
) - Choose Send through SMTP server and enter:
- SMTP Server:
mail.smtp2go.com
- Port:
587
(TLS) or465
(SSL) - Username: your SMTP2GO account username (usually your email)
- Password: your SMTP2GO SMTP password (set in your SMTP2GO dashboard)
- SMTP Server:
- Click Add Account and complete the verification by entering the code sent to your email.
- Now, when you send emails from Gmail using your custom domain address, Gmail will route outgoing mail through SMTP2GO, which will sign emails with your domain’s DKIM.
- Test Your Setup
- Send a test email from Gmail using your custom domain address.
- Check the email headers in the recipient inbox to confirm:
- The email is DKIM signed with your domain.
- SPF passes (due to SMTP2GO’s CNAME-based SPF alignment).
- The return path is correctly set to your domain.
- Use these tools
- Additional Notes
- SMTP2GO automatically signs outgoing emails with DKIM for your domain once the sender domain is verified. No manual DKIM key generation is needed.
- The CNAME records handle SPF alignment, so you do not need to modify your existing SPF TXT record.
- The third CNAME record is for tracking features (clicks, opens) and is optional depending on your needs.
- DNS propagation can take up to 48 hours but usually completes faster.