Introduction
As I started building out my personal brand, I wanted a professional email address that matched my domain — something cleaner than a Gmail address and more aligned with the ValorWorks identity I'm developing. My goal was to set up [email protected] using the tools I already rely on: Cloudflare for DNS and Zoho Mail for the email hosting.
Zoho's free plan supports custom domains, which makes it a perfect fit for small personal projects or early-stage business branding. This post walks through exactly how I set it up, start to finish.
Step 1 — Creating the Zoho Mail Account
I started by signing up for Zoho Mail and selecting their custom domain option. Zoho hides their free tier pretty well now, but it's still available. After creating the organization and selecting my domain (valorworks.dev), Zoho prompted me to add my first user.
I created the user that will serve as my primary inbox:
Zoho automatically added it to my organization and brought me into the email hosting dashboard.
Step 2 — Adding the Required DNS Records in Cloudflare
Because I use Cloudflare for DNS, everything needed to be configured there. Zoho provides the DNS entries required for verification and mail routing:
MX Records
These tell the internet which mail servers handle email for my domain.
MX @ mx.zoho.com priority 10
MX @ mx2.zoho.com priority 20
MX @ mx3.zoho.com priority 50
All MX entries must be DNS Only (no Cloudflare proxy).
SPF Record (TXT)
This prevents mail spoofing and helps deliverability.
v=spf1 include:zohomail.com ~all
DKIM Record (TXT)
Zoho generates a DKIM key unique to your domain. Mine was placed at:
zmail._domainkey.valorworks.dev
The value is a long cryptographic string that Zoho uses to sign outbound mail.
Zoho Domain Verification (CNAME)
Zoho provides a "zb########" CNAME entry for verifying domain ownership.
Once all records were added to Cloudflare and set to DNS Only, Zoho began monitoring for propagation.
Step 3 — DNS Propagation & Zoho Verification
It takes a few minutes for DNS updates to propagate across the internet. Zoho displays the status for each record, and at first everything showed:
Record not propagated
After 10–20 minutes, the MX, SPF, and DKIM entries flipped to Verified, confirming Cloudflare's DNS changes were live.
Once verification completes, Zoho fully activates the mailbox.
Step 4 — Logging Into the New Mailbox
After the DNS mapping turned green, I went to:
https://mail.zoho.com
and logged in using the new domain email address.
Zoho brought me directly to a clean inbox interface with everything working — sending, receiving, attachments, etc.
Step 5 — Optional Hardening: Add DMARC
To help with deliverability and protect the domain from spoofing, it's recommended to add a DMARC record.
I created a TXT record in Cloudflare:
Name: _dmarc
Value: v=DMARC1; p=none; rua=mailto:[email protected];
This gives me delivery reports but doesn't enforce blocking yet. Later, after confirming stable email flow, I can tighten it to p=quarantine or p=reject.
Results
By the end of the process, I had:
- A fully functioning business email address
- SPF, DKIM, and DMARC properly configured
- DNS living in Cloudflare
- Email hosting running through Zoho Mail
- Zero cost, zero complicated infrastructure
This setup is lightweight, fast, and scalable as my personal or business needs grow.
Conclusion
Setting up a professional email address doesn't require expensive hosting or complicated mail servers. With Zoho Mail's custom domain support and Cloudflare's clean DNS management, I now have a reliable and secure inbox on my own domain.
If you're building your personal brand or starting a small business, this combination is one of the easiest and most affordable ways to get a professional email presence online.