Email Routing

canonical terms: Email Routing, Email Sending, inbound mail, outbound transactional mail
Doc Status: Current as of 2026-06-02 | Verified against Cloudflare API and public DNS | Rolled back to Zoho inbound DNS

Why This Matters

House of Legends uses email in two different ways: mailbox delivery for addresses like admin@houseoflegends.vn, and transactional sending from the Hono API. Cloudflare separates those concerns into Email Routing and Email Sending, so mixing them up can accidentally break inbound aliases or misdiagnose outbound delivery issues.

Current Setup

Cloudflare owns DNS for houseoflegends.vn, but Zoho is currently the inbound mail provider for the apex domain.
AreaCurrent ownerStatus
Apex inbound mailZoho MX recordsActive
Cloudflare Email RoutingDisabledMisconfigured
Cloudflare Email Routing destinationsGmail destinations createdVerified
Cloudflare Email Routing rulesadmin@, support@, and media@ forwardsCreated and enabled
Cloudflare Email Sendingcf-bounce.houseoflegends.vnEnabled
Hono transactional mailCloudflare send_email bindingConfigured
Zoho rollback DNS values are stored in docs/cloudflare-email-routing-zoho-rollback-2026-06-02.md.

Configured Routing

The Cloudflare routing rules remain configured and ready to use if Cloudflare Email Routing DNS is enabled again. They are not currently receiving live inbound mail because apex MX points to Zoho. Configured forwarding rules:
Custom addressDestination addressPurpose
admin@houseoflegends.vnhamza.babou@gmail.comAdmin and operations mailbox
support@houseoflegends.vncurly.saigonese@gmail.comGuest support mailbox
media@houseoflegends.vnkudeiar.ari@gmail.comMedia and press mailbox
The destination records are verified and the forwarding rules are enabled inside Cloudflare. Live inbound delivery is currently handled by Zoho because the apex MX records have been rolled back.
Cloudflare Email Routing rules do not receive mail while Zoho owns apex MX. Check Zoho for live inbound messages to these aliases.
A Zoho rollback DNS snapshot is stored in docs/cloudflare-email-routing-zoho-rollback-2026-06-02.md before any apex MX switch.

How It Works

Inbound Mail

Inbound mail for houseoflegends.vn currently resolves to Zoho:
10 mx.zoho.com
20 mx2.zoho.com
50 mx3.zoho.com
That means live aliases such as admin@houseoflegends.vn, support@houseoflegends.vn, and media@houseoflegends.vn should be checked in Zoho unless Cloudflare Email Routing DNS is enabled again.

Cloudflare Email Routing

Cloudflare Email Routing is disabled:
enabled: false
status: misconfigured
The current apex mail records are:
10 mx.zoho.com
20 mx2.zoho.com
50 mx3.zoho.com
"v=spf1 include:zoho.com ~all"
Cloudflare Email Routing now has two enabled custom forwarding rules and one disabled catch-all rule with a drop action.
RuleMatcherActionStatus
Forward admin to Hamzaadmin@houseoflegends.vnForward to hamza.babou@gmail.comEnabled
Forward support to Curlysupport@houseoflegends.vnForward to curly.saigonese@gmail.comEnabled
Forward media to Kudeiarmedia@houseoflegends.vnForward to kudeiar.ari@gmail.comEnabled
Catch-allAll other addressesDropDisabled

Destination Addresses

Cloudflare Email Routing now has these destination records:
Destination addressCloudflare status
hamza.babou@gmail.comVerified
curly.saigonese@gmail.comVerified
kudeiar.ari@gmail.comVerified
Forwarding rules are configured, but live inbound delivery is currently routed through Zoho.

Cloudflare Email Sending

Cloudflare Email Sending is separate from Email Routing and is enabled for outbound transactional email.
domain: houseoflegends.vn
return path: cf-bounce.houseoflegends.vn
dkim selector: cf-bounce
enabled: true
The cf-bounce.houseoflegends.vn DNS records exist for bounce handling, SPF, and DKIM. This matches the Hono worker configuration:
[[send_email]]
name = "EMAIL"
remote = true
The Hono worker uses Cloudflare Email Sending for outbound transactional email. It is not an inbound Email Routing worker.

DMARC Review

Live DNS currently has a relaxed DMARC policy:
"v=DMARC1; p=none; rua=mailto:admin@houseoflegends.vn; ruf=mailto:admin@houseoflegends.vn; sp=none; adkim=r; aspf=r; pct=100"
Cloudflare Email Sending returned this expected DMARC value:
"v=DMARC1; p=reject;"
Review this before changing it. A stricter DMARC policy can affect Zoho and any other sender using houseoflegends.vn.

Technical Details

zone: houseoflegends.vn
zone_id: 52eeace7fd4f1613e08975eee7bb89fa
account_id: 04cc8fd76b9159e809b6210a9a18ca5b
email_sending_subdomain_id: 070a7360e0084caba1734038281c9e88
GET /zones?name=houseoflegends.vn
GET /zones/{zone_id}/email/routing
GET /zones/{zone_id}/email/routing/rules
GET /zones/{zone_id}/email/routing/rules/catch_all
GET /accounts/{account_id}/email/routing/addresses
GET /zones/{zone_id}/dns_records?type=MX
GET /zones/{zone_id}/dns_records?type=TXT
GET /zones/{zone_id}/email/sending/subdomains
GET /zones/{zone_id}/email/sending/subdomains/{subdomain_id}
GET /zones/{zone_id}/email/sending/subdomains/{subdomain_id}/dns
dig MX/TXT checks for apex and cf-bounce records
POST /accounts/{account_id}/email/routing/addresses for target Gmail destinations
POST /zones/{zone_id}/email/routing/rules for admin, support, and media forwarding rules
DELETE /zones/{zone_id}/dns_records/{record_id} for apex Zoho MX records and apex Zoho SPF
POST /zones/{zone_id}/email/routing/dns to enable Cloudflare Email Routing DNS
DELETE /zones/{zone_id}/email/routing/dns to disable Cloudflare Email Routing DNS during rollback
POST /zones/{zone_id}/dns_records to restore Zoho MX and SPF records

Operating Decision

Zoho owns inbound mailbox delivery for the apex domain. Cloudflare Email Routing rules are preserved but inactive until the apex MX records are switched back to Cloudflare. Cloudflare Email Sending remains the outbound transactional email path for the Hono worker.