Setting Up a Custom Email Subdomain with Cloudflare and Brevo
If you own a domain such as yourdomain.com, you can use it to send
professional emails instead of relying on a generic address such as
gmail.com.
For example, instead of sending application emails from a generic address, you might want to send them as:
hello@websiteops.dev
This guide explains how DNS, Cloudflare and Brevo work together to authenticate your domain and send emails using your own domain.
1. Understand What Each Service Does
There are three separate pieces involved in this setup:
- Cloudflare: manages your domain's DNS records.
- Brevo: handles outgoing email delivery.
- Email receiving service: handles incoming messages if you want to receive replies at your custom address.
This distinction is important. Adding DNS records in Cloudflare does not
automatically create an inbox for hello@websiteops.dev.
2. Move Your Domain DNS to Cloudflare
If your domain is currently using another DNS provider, you first need to change the domain's nameservers to the nameservers provided by Cloudflare.
Cloudflare will provide two nameservers for your domain. They will look something similar to:
example.ns.cloudflare.com
example2.ns.cloudflare.com
Go to your domain registrar and replace the existing nameservers with the Cloudflare nameservers assigned to your domain.
After the nameserver change propagates, Cloudflare becomes the DNS provider for your domain.
3. Add Your Domain to Brevo
Log in to Brevo and open the sender and domain settings. Choose the option to add or authenticate a domain and enter:
yourdomain.com
Brevo will provide several DNS records that need to be added to your DNS provider.
These records are used to prove that you control the domain and allow Brevo to authenticate messages sent from it.
4. Add Brevo DNS Records to Cloudflare
Open your domain in Cloudflare and go to:
DNS → Records
Then add the DNS records provided by Brevo.
Depending on your Brevo configuration, these can include records used for domain verification, DKIM authentication and other email-related settings.
Copy the values exactly as Brevo provides them. Do not manually modify the DKIM values.
5. Configure the Brevo Branded Subdomain
Brevo can also use a branded subdomain for tracking links. For example:
track.yourdomain.com
Brevo provides a CNAME target for this subdomain.
In Cloudflare, add the CNAME record using the hostname provided by Brevo. Make sure the record is configured as DNS only when Brevo specifically requires that configuration.
After DNS propagation, Brevo should show the branded subdomain as configured.
6. Authenticate the Domain
Return to Brevo and check the domain authentication status. Once the DNS records are detected, the domain should show as authenticated.
A properly authenticated domain improves email trust and helps receiving mail servers verify that Brevo is authorized to send messages on behalf of your domain.
7. Create Your Sender
After authenticating the domain, add the sender address you want to use. For example:
hello@websiteops.dev
You can also provide a sender name such as:
WebPulse
Your outgoing emails can then appear as:
From: WebPulse <hello@websiteops.dev>
8. Important: Sending Is Not the Same as Receiving
One of the most confusing parts of custom email configuration is the difference between sending and receiving.
Brevo can send email using your authenticated domain, but DNS authentication alone does not create an inbox.
If somebody sends an email to:
hello@websiteops.dev
you need an email receiving or forwarding service configured for your domain. That service is normally configured using MX records.
For example, your setup could look like:
Cloudflare
↓
DNS management
Brevo
↓
Outgoing email
Email provider / forwarding service
↓
Incoming email
9. Do Not Replace Your MX Records Without Checking
MX records control where incoming email for your domain is delivered. If your domain already has an email provider configured, replacing its MX records can stop incoming email.
Before changing MX records, check which service currently receives mail for your domain.
Brevo's sending authentication records and your receiving mail records serve different purposes, so they should not be confused.
10. Test Your DNS Configuration
You can verify DNS records directly from a Linux terminal using
dig.
For a CNAME record:
dig track.yourdomain.com CNAME
For MX records:
dig yourdomain.com MX
For TXT records:
dig yourdomain.com TXT
You can also query a specific DNS record using:
dig webpulse.yourdomain.com CNAME
If the record exists, the answer section should show the configured target.
11. Example Architecture
A simple setup for a project such as WebPulse could look like this:
| Component | Purpose |
|---|---|
| yourdomain.com | Main domain |
| Cloudflare | DNS management |
| webpulse.yourdomain.com | Branded subdomain |
| Brevo | Outgoing email delivery |
| hello@websiteops.dev | Custom sender address |
| MX provider | Incoming email delivery |
12. Final Checklist
- Domain is using Cloudflare nameservers.
- Brevo domain authentication is configured.
- Brevo DNS records have been added to Cloudflare.
- DKIM authentication is enabled.
- Brevo branded tracking subdomain is configured if required.
- Your sender address is configured in Brevo.
- MX records are configured separately if you need incoming email.
- DNS records have been verified using
dig. - A real test email has been sent and received successfully.
Conclusion
Using Cloudflare and Brevo together gives you a clean way to send application and transactional emails using your own domain.
The important thing is to understand that Cloudflare is responsible for DNS,
while Brevo handles outgoing email delivery. Creating a sender such as
hello@websiteops.dev does not automatically create an inbox, so
incoming email requires a separate mail receiving or forwarding configuration.
Related Articles
- Hostinger Domain Redirect Missing? Here's the Fix
- Apache HTTP Server Installation and Configuration Guide
- The SEO Mistakes Developers Make When Building Websites
Written by A.M. Rinas · Published August 15, 2026