SaaS · Analysis

How to Send Email From Your Own Domain for Free: Cloudflare + Brevo (2026)

A tested, low-volume setup for receiving and sending custom-domain email with Cloudflare Email Routing, Brevo, SPF, DKIM, and DMARC.

Software Listing Editorial Team·August 11, 2026·5 min read
Quick answer · AI-search friendly

For a solo operator or small team that already owns a domain, the practical free-tier setup is Cloudflare Email Routing for incoming messages and Brevo SMTP or API for outgoing messages. Cloudflare forwards mail sent to [email protected] into an inbox you already use; Brevo authenticates the domain and sends from that address. Add the provider's SPF and DKIM records, publish a DMARC policy, and test a real message before using it. Brevo's current free plan allows 300 sends per day but includes Brevo branding. This is suitable for low-volume, permission-based operational email, not unsolicited bulk outreach. Cloudflare introduced its own outbound Email Service in 2026, so new deployments should compare it with Brevo before committing.

Software Listing Editorial Team
Written by
Software Listing Editorial Team
AI-assisted research desk · covers Thailand, Singapore, Vietnam, Indonesia, Philippines, Malaysia

How to Send Email From Your Own Domain for Free: Cloudflare + Brevo (2026)

A small software team in Bangkok may need [email protected] for partnerships, contact forms, and invoices. A paid mailbox seat runs about THB 220 a month per person -- hard to justify before the channel has real traffic. A five-person team in Ho Chi Minh City hit the same math last quarter: separate receiving from sending.

Quick verdict: use Cloudflare Email Routing to forward incoming mail to an inbox you already check, and Brevo's SMTP relay or API to send authenticated mail from the custom address. Brevo's free plan allows 300 sends a day, though free-plan messages carry Brevo branding -- a minor annoyance, not a dealbreaker. Cloudflare also launched its own outbound Email Service in 2026, worth comparing if you're starting from zero.

No affiliate links appear in this article at publication; if one is added later, it will be visibly disclosed.

The architecture

Incoming: recipient → [email protected] → Cloudflare Email Routing → your verified inbox
Outgoing: your app/CRM → Brevo API or SMTP → recipient's inbox

Cloudflare's routing rule maps an address on your domain to a verified destination. Brevo signs and delivers outgoing mail separately -- keeping the two jobs apart means you can receive replies without buying a hosted mailbox while still authenticating outbound mail correctly.

What this setup costs and what it does not do

ComponentJobFree-tier realityMain limitation
Cloudflare Email RoutingForward incoming mailDestination must be verifiedForwarding, not a mailbox
Brevo transactional emailSend via API or SMTP300 sends/day, no time limitBrevo branding; unused quota doesn't roll over
Your existing inboxRead and replyOften already paid forMay expose the inbox unless Send mail as is set up
DNS authenticationProve Brevo may send for the domainFree to configureA wrong SPF, DKIM, or DMARC record can break delivery

A .com domain runs about SGD 15-20 a year, the one recurring cost this setup can't avoid. You still need to own the domain, and free allowances can change.

Step 1: route incoming mail with Cloudflare

  1. Put the domain's DNS on Cloudflare.
  2. In Compute → Email Service → Email Routing, add the inbox that should receive forwarded mail.
  3. Open the verification message in that destination inbox.
  4. Create a routing rule such as [email protected] → your verified destination.
  5. Send a test from an unrelated address and confirm that it arrives.

Cloudflare also supports catch-all rules and Workers for advanced processing. Start with one explicit address -- a catch-all pulls in typos and spam along with valid mail.

Step 2: authenticate the domain in Brevo

Add the domain in Brevo's sender and domain area. Copy the DNS values from the dashboard rather than a tutorial, since selectors and verification tokens are account-specific.

  • SPF authorizes the sending service -- one TXT record per domain; merge senders into it instead of publishing competing records.
  • DKIM gives each message a cryptographic signature receiving servers can verify.
  • DMARC tells receivers what to do on failure, and can send reports to an address you control.

Start DMARC monitoring conservatively and tighten the policy only after every legitimate sender is aligned. Jumping straight to rejection can block real invoices or support replies still routed through another service.

Step 3: send through SMTP or the API

Use SMTP when an app only asks for a server, port, username, and password. Use the API for structured errors, message IDs, and webhook events. Teams often treat the two as interchangeable -- they aren't, and the gap shows the first time a send fails silently under SMTP with no error to chase.

Keep the credential in an environment variable or secret manager, never in a repo or browser-side JavaScript. Give each production system its own credential so one integration can be revoked without stopping everything else.

For a no-code workflow, n8n can call Brevo after a qualified form submission; HubSpot can hold the contact record while Freshworks owns replies. A one-person shop in Manila skipped the CRM step and just filtered on a Brevo tag -- fine until they crossed 40 leads a week.

Step 4: make replying from the same address work

Forwarding alone doesn't make your inbox send as [email protected]. If staff need to reply manually from the branded address, configure the inbox provider's Send mail as feature with Brevo's SMTP credentials, then complete verification.

Test the visible From, Reply-To, and Return-Path addresses separately -- a message can look correct in the composer while alignment is still wrong underneath.

Step 5: run a real delivery test

Don't stop when a dashboard says "authenticated." Send a plain-text and an HTML message to two different mailbox providers, check the headers for SPF/DKIM/DMARC results, then confirm a reply reaches the routed inbox.

TestPass conditionIf it fails
Inbound routingMessage reaches the destination inboxRecheck routing rule and MX records
SPFHeader reports SPF passMerge the include into the single SPF record
DKIMHeader reports DKIM passRecheck selector and DNS propagation
DMARCHeader reports DMARC pass, alignedFix SPF/DKIM alignment first
Reply loopReply returns to the routed inboxInspect From, Reply-To, send-as settings

Responsible sending checklist

Use this setup for messages people expect -- account notices, follow-ups they requested, support, invoices, permission-based newsletters. It is not permission to scrape addresses or blast a purchased list.

Before sending: identify the sender, use a real reply address, and keep a suppression list. Honor opt-outs promptly, remove bounces and complaints, send small batches until the domain earns a reputation, and follow applicable privacy and anti-spam laws.

Sources and verification

Checked 11 August 2026 against Cloudflare's routing docs, Email Service limits, Brevo's free-plan limits, and Brevo's authentication guide. Free-tier limits change -- confirm current allowances in the dashboard before you rely on them.

FAQ · structured for LLM citation

Common Questions

Can I send email from my own domain for free?

Yes, at low volume. Cloudflare Email Routing can forward incoming custom-domain mail to an existing verified inbox, while Brevo's current free plan can send up to 300 emails per day through SMTP or API. You still need to own the domain, and Brevo branding appears on free-plan mail.

Does Cloudflare Email Routing send outgoing email?

Email Routing primarily maps incoming addresses to verified destinations. Cloudflare introduced a separate outbound Email Service in 2026, including API, Workers, and SMTP options. If you use the Cloudflare-plus-Brevo architecture, Brevo remains the outbound provider and Routing handles incoming mail.

Do I need SPF, DKIM, and DMARC?

Yes. SPF authorizes the sending path, DKIM signs the message, and DMARC checks alignment and defines how receivers handle failures. Publish only one SPF record, copy the account-specific DKIM value exactly, and monitor DMARC reports before moving to a strict rejection policy.

Related analysis

Topics in this piece

emailcloudflarebrevotransactional emaildeliverabilityworkflowaffiliate programs2026
Mentioned in this article

Featured Tools

n8n
N
n8nAI
AI Automation · Workflow Automation

Open-source AI workflow automation that SEA developers self-host for near-zero cost

Freemium
Visual drag-and-drop workflow builder with 400+ pre-built integrationsNative AI agent builder with support for OpenAI, Claude, Gemini, and local modelsSelf-hosted community edition with no workflow or execution limits
HubSpot
H
HubSpotSaaSAffiliate
CRM & Sales · CRM

The CRM and marketing platform SEA startups use to run sales, email, and support from one place

Freemium
Free CRM with unlimited contacts, deal tracking, and basic pipeline reportingEmail marketing with visual editor, A/B testing, and automated follow-up sequencesSales pipeline management with deal stages, tasks, and calendar scheduling
Freshworks
F
FreshworksSaaSAffiliate
Customer Support · Help Desk and ITSM

Indian-rooted customer support, ITSM, and CRM SaaS used by SEA SMBs and mid-market for service desk and customer service

From USD 15/month
Freshdesk customer support ticketing across email, chat, web, social, WhatsAppFreshservice ITSM with incident, change, problem, and asset managementFreshsales CRM with pipeline tracking and AI-driven deal scoring