Published on 4/26/2026
I Fired My $50 Mail Server and Replaced It with Cloudflare + Gmail
I was paying $50/month for email. Now I pay $0, and nobody had to babysit SMTP.
I used to run my own mail server.
Not because I’m brave. Not because I enjoy pain. And definitely not because I wake up thinking, “You know what would make today better? Debugging SMTP.”
I did it because I wanted one very simple thing:
me@farzin.io — send email, receive email, look professional, go live my life.
So naturally, I made it weird.
I spun up a full Mailcow server. 2 cores. 4GB RAM. Around $50/month.
For email.
One email address.
Beautifully overengineered. Emotionally expensive.
The Problem
Running a mail server sounds cool in theory, the same way owning a dragon sounds cool in theory.
Then the dragon burns your house down because your SPF record had a typo.
I had:
- DKIM, SPF, and DMARC records that looked like ancient curses
- Random deliverability drama
- Server updates
- Spam fighting
- Logs I pretended to understand
- A monthly bill that kept whispering, “Are you sure about this?”
And what was I really using?
Just:
- Sending emails from
me@farzin.io - Receiving emails to
me@farzin.io
That’s it.
No team inboxes. No newsletters. No enterprise setup. No “email infrastructure strategy.”
Just me, one inbox, and a server acting like it was powering a Fortune 500 company.
So I asked the obvious question:
Why am I paying $50/month to cosplay as Google?
The Better Way
Turns out, the solution was much simpler:
- Cloudflare Email Routing (for receiving emails)
- Gmail SMTP (for sending emails)
Together, they give me exactly what I wanted from the beginning:
- Receive email at
me@farzin.io - Send email from
me@farzin.io - Reply like a normal human
- Pay $0
- Never SSH into a mail server again
That last one is very important for inner peace.
No servers. No maintenance. No little SMTP goblin living in my terminal.
How It Works
- Cloudflare receives email for your domain
- Cloudflare forwards it to your Gmail inbox
- Gmail sends email as your custom domain using SMTP
- Everyone else just sees
me@farzin.io
Clean. Simple. Suspiciously reasonable.
Step-by-Step Setup
Step 1: Enable 2FA on Google
First, enable 2-factor authentication on your Google account.
You need this because Gmail only lets you create App Passwords when 2FA is enabled.
No 2FA → no App Password → no SMTP → sadness.
Step 2: Create a Gmail App Password
Go to your Google account and generate an App Password for Mail.
This is the password Gmail will use for SMTP. It is not your regular Google password, which is good, because throwing your real password into random config screens is how horror movies for developers begin.
- Select:
Mail - Device: your computer
- Click Generate
- Copy the password and keep it nearby
Step 3: Add Your Custom Email to Gmail
In Gmail:
Settings → Accounts → Send mail as → Add another email addressFill in:
- Your name
- Your custom email (e.g.
me@farzin.io)
Important:
Untick "Treat as an alias".
Gmail loves little checkboxes that change the meaning of reality, so do not skip this.
Click Next Step
Step 4: Configure SMTP
Use these settings:
- SMTP Server:
smtp.gmail.com - Port:
587 - Username: your Gmail address
- Password: the App Password from Step 2
- TLS: enabled
Click Add Account
Gmail will send a verification code to your custom email. Since Cloudflare will forward that email to Gmail, you can confirm it from the same inbox.
Yes, this feels a little circular. Yes, it works.
Step 5: Configure DNS (SPF + DMARC)
Now jump into Cloudflare DNS and add the records that tell the world, “Yes, Gmail is allowed to send email for this domain. Please do not throw me into spam jail.”
SPF Record:
- Type:
TXT - Name:
@ - Content:
v=spf1 include:_spf.mx.cloudflare.net include:_spf.google.com ~all
DMARC Record:
none while you’re getting started:v=DMARC1; p=none; rua=mailto:
That keeps things friendly while you verify everything is flowing correctly. You can tighten it later if you want to put on the serious admin hat.
Now you can:
- Receive emails via Cloudflare → Gmail
- Send emails from Gmail as
me@farzin.io - Reply seamlessly with the correct address
No server. No Docker. No Mailcow. No $50 bill.
My VPS was finally free to stop pretending it was a tiny post office.
Why This Is Better
- Free — the invoice is a beautiful blank space
- Reliable — Gmail is much better at email than my lonely VPS
- Zero maintenance — no updates, no patching, no surprise SMTP therapy
- Fast setup — you can do it in under 15 minutes
- Simple — which is usually what we wanted before we got distracted by dashboards
When Should You Do This?
This setup is perfect if you:
- Just need a personal domain email
- Don’t want to manage a mail server
- Care about simplicity over control
- Want “it just works” energy without paying “please manage my dragon” money
If you’re running company-wide email with teams, compliance, shared mailboxes, and policies? Sure, use something heavier.
If you’re just trying to send emails from your domain?
This is probably all you need.
Conclusion
I didn’t need a mail server — I just needed an email address. There’s a big difference, and firing that $50/month setup felt fantastic. The server is gone, the emails still work, and my DNS records are no longer the main character. Trust me, your future self — the one not debugging SPF records at midnight while questioning every life decision — will thank you.