Cloudflare Email Routing is a free service that forwards email from `*@yourdomain.com` to any destination address (Gmail, Outlook, anywhere). For SMBs who want a `hello@brand.com` address but don’t want to pay $6/user/month for Google Workspace, it’s the cleanest answer in the industry. Setup takes ten minutes per domain. Here’s the configuration we run for every FH client.
What it does and what it doesn’t
Email Routing forwards inbound email. You receive at a custom address; your replies go from your regular Gmail/Outlook with the personal address. It does not send mail from your custom address by default — sending requires extra setup with the “Send As” feature in Gmail.
What it doesn’t do: provide a mailbox, run a calendar, give you Office apps. If you need any of those, Google Workspace or Microsoft 365 is the right tier. For forwarding-only use cases (a small SMB with 3 forwarding addresses), Email Routing is free and excellent.
Setup
- In the Cloudflare dashboard, go to Email → Email Routing for the domain.
- Click Enable Email Routing.
- Cloudflare automatically adds the required MX records and the SPF/DKIM TXT records. Verify they’re present.
- Add a routing rule: ‘Match all emails to hello@yourdomain.com → forward to your-personal@gmail.com.’
- Verify the destination address by clicking the link in the verification email Cloudflare sends.
- Test: send an email to hello@yourdomain.com from a different account. It should arrive at your-personal@gmail.com within 60 seconds.
Multiple destination addresses
You can add multiple rules. Match `hello@` and forward to the owner; match `support@` and forward to a shared inbox; match anything else (catch-all) and drop or forward to a quarantine address. Each rule has its own destination, verified independently.
Sending from your custom address
Cloudflare provides SMTP credentials for outbound. In Gmail, go to Settings → Accounts → Send mail as → Add another email address. Use the Cloudflare SMTP host and the credentials they generate. Reply emails will appear to come from hello@yourdomain.com instead of your-personal@gmail.com.
When this isn’t enough
Three signals you should upgrade to Google Workspace or Microsoft 365 instead:
- You need a real mailbox with shared inboxes, archiving, and search across years of history.
- You have more than 3-5 users needing custom addresses. The forwarding setup gets unwieldy.
- You need a calendar, document collaboration, or any of the productivity suite features.
For most SMBs at startup phase, Email Routing covers the need for the first 1-2 years. Migrating to Workspace later is a half-day project.
SPF, DKIM, and DMARC
Email Routing sets up SPF (which servers can send mail for your domain). It does not handle DKIM signing automatically — Gmail signs outbound mail with their DKIM key, which is fine. Add a DMARC record pointing at a real reporting address so you can see if anyone’s spoofing your domain. We default to `v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com`.
If your transactional email (lead notifications, password resets) goes through Resend, add Resend’s DKIM record per their docs. Your DMARC will then pass for both forwarded mail and Resend-sent mail.
Workers Email integration
Cloudflare Email Routing supports forwarding email to a Worker for programmatic processing. Use case: route inbound email to an API that creates a Slack message, a CRM entry, or a database row. We have one client using this for inbound support emails — each email creates a ticket in their internal admin tool.
export default {
async email(message: ForwardableEmailMessage, env: Env) {
const raw = await new Response(message.raw).text();
await fetch(env.TICKET_API, {
method: "POST",
headers: { authorization: `Bearer ${env.TICKET_API_KEY}` },
body: JSON.stringify({
from: message.from,
subject: message.headers.get("subject"),
body: raw,
}),
});
await message.forward("support-team@example.com");
},
};Limits
Cloudflare Email Routing has a 25MB per-email size limit and a soft rate limit (Cloudflare doesn’t publish a number, but heavy use can throttle). For SMB volumes (hundreds of emails per day), you’ll never hit it.
Migrating away from Workspace to Email Routing (or the other direction)
From Workspace to Routing: export Workspace history first if you want it (Workspace Takeout). Set up Email Routing rules. Change MX records in Cloudflare DNS to point at Cloudflare’s mail servers. Wait 24 hours for propagation. Cancel Workspace.
From Routing to Workspace: easier. Set up Workspace, follow their MX record instructions, disable Email Routing rules. Existing forwarded mail stops; new mail goes to Workspace mailboxes.
How this lands across FH client work
Across the FH client book, three clients use Cloudflare Email Routing (the small contractors with 1-3 addresses each), four use Google Workspace (the bigger teams with calendar and Drive needs). The split is sensible. If you’re paying for Workspace and only using it for email forwarding, book a consultation — Email Routing is the cleaner answer for that exact use case.