How to Set Up a Free Custom Domain Email with Zoho Mail, Cloudflare, and Your Own Domain A custom email address like makes a huge difference when you are building a personal brand, portfolio, or freelance presence.
It looks more professional than a free Gmail address, and it is surprisingly easy to set up using Zoho Mail’s free plan and your domain’s DNS.
In this guide, I will walk through the exact flow I used to create a professional email address on a custom domain, without paying for a traditional business email suite.
Important: This post uses placeholder values instead of real DNS records, IPs, or credentials.
Replace the examples with the values Zoho shows for your own account.
What you will need Before you begin, make sure you already have: A domain name (for example, ) DNS access in Cloudflare or your domain provider A Zoho Mail account A few minutes to add DNS records and wait for propagation For this setup, I used: Website hosting: Vercel DNS: Cloudflare Email provider: Zoho Mail That combination works very well for a personal website or portfolio.
Why use Zoho Mail?
Zoho Mail is useful because it lets you create a professional email address using your own domain.
On the free plan, Zoho supports a single domain with up to 5 users, 5 GB of storage per user, and web-only access.
The free plan is available only in select data centers, so availability may vary by region.
For a personal website, that is usually more than enough.
The overall flow Here is the setup in simple terms: Buy a domain.
Sign up for Zoho Mail.
Add your existing domain.
Verify that you own the domain using a TXT record.
Add MX records so mail is delivered to Zoho.
Add SPF, DKIM, and DMARC for email authentication.
Test sending and receiving mail.
Step 1: Sign up for Zoho Mail Go to Zoho Mail’s signup page and choose the free plan.
During signup, Zoho will ask whether you want to add a new domain or an existing one.
Since you already own the domain, choose Add an existing domain.
Enter your domain exactly as it should appear, for example: Do not type for email setup.
Email should be configured on the root domain.
Step 2: Verify domain ownership Zoho will ask you to prove that you own the domain.
The simplest method is to add a TXT record in Cloudflare DNS.
Zoho will give you a TXT value similar to this: In Cloudflare, add a new DNS record: Type Name Content TXT @ If Cloudflare does not accept , use the root domain name directly.
After saving the record, go back to Zoho and click Verify TXT Record.
Once that works, Zoho knows the domain belongs to you.
Step 3: Create your mailbox After verification, Zoho will let you create the first user account for your domain.
For a personal site, a good choice is: You can also create: If you only want one inbox, use aliases later instead of creating multiple mailboxes.
Step 4: Add MX records in Cloudflare MX records tell the internet where your email should be delivered.
Without MX records, people can send mail to your domain name, but no one will know which server should receive it.
Add the MX records Zoho provides for your data center.
For Zoho’s India region, the records usually look like this: Type Name Mail Server Priority MX @ mx.zoho.in 10 MX @ mx2.zoho.in 20 MX @ mx3.zoho.in 50 In Cloudflare DNS: Type: Name: Content: / / Priority: , , Do not proxy MX records.
Cloudflare handles them as DNS-only records.
Step 5: Add SPF SPF tells the world which servers are allowed to send email for your domain.
Add this TXT record: In Cloudflare: Type Name Content TXT @ What SPF means This says: Zoho is allowed to send mail for your domain.
Other servers should not be trusted by default.
This helps reduce spoofing and improves inbox delivery.
Step 6: Add DKIM DKIM adds a digital signature to outgoing email.
It helps receivers confirm that the message really came from your domain and was not modified in transit.
Zoho will generate a DKIM public key for you.
The record usually looks like this: Type Name Content TXT zmail._do