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:

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

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


Written by A.M. Rinas · Published August 15, 2026

A.M. Rinas

Written by A.M. Rinas

Full-Stack Software Engineer working on web applications, DevOps automation, and databases. More about me on the about page, or say hi through the contact page and LinkedIn.

← Back to all articles