Email routing rules and addresses
In Email Routing, a routing rule pairs an email pattern with a destination — either a verified email address or a Worker. You can route emails to either:
- Verified email addresses
- Workers with the
emailhandler
This allows you to route emails to your preferred inbox, or apply logic with Workers before deciding what should happen to your emails. You can have multiple routing rules to route email from specific senders to specific mailboxes.
A destination address is the verified email address that Email Routing forwards messages to. Before you can create a routing rule, you must add and verify at least one destination address.
Destination addresses are shared at the account level and can be reused with any other domain in your account.
You can also send to verified destination addresses directly through the REST API or the Workers binding, free of charge on any plan — including when only Email Routing is configured. Sends to verified destination addresses do not count toward your monthly quota or daily sending limits. Refer to Pricing for details.
-
Log in to the Cloudflare dashboard ↗ and select your account.
-
Go to Compute > Email Service > Email Routing > Destination Addresses.
Go to Email Routing -
Under Destination addresses, enter the email address you want to use as a destination in the inline form and submit it.
-
Cloudflare sends a verification email to that address. Open the email and select Verify email address to activate it.
Until a destination address is verified, any routing rule that points to it stays disabled.
The Destination Addresses page lists every address on your account, including those pending verification. From this page you can resend a verification email or delete a destination address.
-
Log in to the Cloudflare dashboard ↗ and select your account and domain.
-
Go to Compute > Email Service > Email Routing > Routing Rules.
Go to Email Routing -
Select Create routing rule.
-
In Email pattern, enter the local part of the email address you want to use (for example,
my-new-email), and select your domain. -
In the Action drop-down menu, choose what this routing rule should do. Refer to Routing rule actions for more information.
-
In Destination, choose the verified address or Worker you want your emails to be forwarded to — for example,
your-name@gmail.com. To add a new destination address, refer to Add a destination address.
When creating a routing rule, you must specify an Action:
- Send to an email: Emails will be routed to your destination address.
- Send to a Worker: Emails will be processed by the logic in your Worker.
- Drop: Deletes emails matching the rule without routing them. This can be useful if you want to make an email address appear valid for privacy reasons.
-
In the Cloudflare dashboard, go to Compute > Email Service > Email Routing.
Go to Email Routing -
Select Routing Rules.
-
Identify the routing rule you want to pause, and toggle the status button to Disabled.
Your routing rule is now disabled. It will not forward emails to a destination address or Worker. To forward emails again, toggle the routing rule status button to Active.
-
In the Cloudflare dashboard, go to Compute > Email Service > Email Routing.
Go to Email Routing -
Select Routing Rules.
-
Identify the routing rule you want to edit, and select Edit.
-
Make the appropriate changes to the rule.
- Log in to the Cloudflare dashboard ↗ and select your account and domain.
- Go to Compute > Email Service > Email Routing > Routing Rules.
- Identify the routing rule you want to delete.
- Select Delete and confirm the action.
When you enable this feature, Email Routing forwards every email sent to your domain, including misspelled local parts, to a single destination. For example, if you created a rule for info@example.com and a sender accidentally types ifno@example.com, the email will still be handled if you have the Catch-all rule enabled.
To enable the catch-all rule:
-
In the Cloudflare dashboard, go to Compute > Email Service > Email Routing.
Go to Email Routing -
Select Routing Rules.
-
Enable Catch-all rule, so it shows as Active.
-
In the Action drop-down menu, select what to do with these emails. Refer to Routing rule actions for more information.
-
Select Save.
Email Routing supports subaddressing, also known as plus addressing, as defined in RFC 5233 ↗. This enables using the "+" separator to augment your routing rules with arbitrary detail information.
You can enable subaddressing at Compute > Email Service > Email Routing > Settings.
Once enabled, you can use subaddressing with any of your routing rules. For example, if you send an email to user+detail@example.com it will be matched by the user@example.com routing rule. The +detail part does not affect rule matching, but it is preserved in message.to and can be inspected by a Worker, an Agent application ↗, or via the activity log.
If a routing rule for user+detail@example.com already exists, it takes precedence over the rule for user@example.com. This prevents breaking existing routing rules and allows certain sub-addresses to be captured by a specific rule.
- Email handler — process emails programmatically with the
email()handler. - Email Routing REST API — manage routing rules and destination addresses programmatically.
- Domain configuration — manage DNS records for Email Routing.
- Email routing examples — advanced patterns including spam filtering and email storage.