Skip to content

Cloudflare Email Routing: Free Email Forwarding for Every Client Domain

Email Routing is one of Cloudflare’s most underrated free features. Here’s the setup we run for every client domain.

John Cravey with EleviFounder4 min read

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

  1. In the Cloudflare dashboard, go to Email → Email Routing for the domain.
  2. Click Enable Email Routing.
  3. Cloudflare automatically adds the required MX records and the SPF/DKIM TXT records. Verify they’re present.
  4. Add a routing rule: ‘Match all emails to hello@yourdomain.com → forward to your-personal@gmail.com.’
  5. Verify the destination address by clicking the link in the verification email Cloudflare sends.
  6. 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.

Written by
John Cravey
Founder

Founder of Frontend Horizon. Writes most of the long-form work on the FH blog.

Newer post
Cost-Effective AI: How to Pick Claude Opus vs Sonnet vs Haiku for Each Workload
Older post
The Competitor Analysis Every SMB Should Run Before Spending Another Dollar on Marketing
Keep reading

More from the blog

Cloudflare·6 min

Cloudflare DNS and CDN: The Base Configuration for Every FH Client Site

Every FH site sits behind Cloudflare. Here’s the exact configuration and why each setting is where it is.

Cloudflare·5 min

Cloudflare Pages vs Workers vs R2: Picking the Right Cloudflare Product

Cloudflare has 30+ products. Three of them cover 80% of what most SMB sites need.

Cloudflare·4 min

Cloudflare Workers: When Edge Functions Actually Earn Their Keep

Workers are fast and cheap. They’re also the wrong answer for half the things people use them for. Here’s when they fit.