diff --git a/src/assets/images/changelog/email-routing/subaddressing.png b/src/assets/images/changelog/email-routing/subaddressing.png new file mode 100644 index 00000000000000..b92514bf169916 Binary files /dev/null and b/src/assets/images/changelog/email-routing/subaddressing.png differ diff --git a/src/content/changelog/email-routing/2025-07-21-subaddressing.mdx b/src/content/changelog/email-routing/2025-07-21-subaddressing.mdx new file mode 100644 index 00000000000000..d4933092b676b0 --- /dev/null +++ b/src/content/changelog/email-routing/2025-07-21-subaddressing.mdx @@ -0,0 +1,15 @@ +--- +title: Subaddressing support in Email Routing +description: Subaddressing, also known as plus addressing, is now supported in Email Routing. +date: 2025-07-21 +--- + +Subaddressing, as defined in [RFC 5233](https://www.rfc-editor.org/rfc/rfc5233), also known as plus addressing, is now supported in Email Routing. This enables using the "+" separator to augment your custom addresses with arbitrary detail information. + +Now you can send an email to `user+detail@example.com` and it will be captured by the `user@example.com` custom address. The `+detail` part is ignored by Email Routing, but it can be captured next in the processing chain in the logs, an [Email Worker](/email-routing/email-workers/) or an [Agent application](https://github.com/cloudflare/agents/tree/main/examples/email-agent). + +Customers can use this feature to dynamically add context to their emails, such as tracking the source of an email or categorizing emails without needing to create multiple custom addresses. + +![Subaddressing](~/assets/images/changelog/email-routing/subaddressing.png) + +Check our [Developer Docs](/email-routing/setup/email-routing-addresses/#subaddressing) to learn on to enable subaddressing in Email Routing. \ No newline at end of file diff --git a/src/content/docs/email-routing/postmaster.mdx b/src/content/docs/email-routing/postmaster.mdx index 7ebac668ea3fef..f1d64bf1cdc801 100644 --- a/src/content/docs/email-routing/postmaster.mdx +++ b/src/content/docs/email-routing/postmaster.mdx @@ -230,6 +230,6 @@ Due to the nature of email forwarding, restrictive DMARC policies might make for Email Routing does not support sending or replying from your Cloudflare domain. When you reply to emails forwarded by Email Routing, the reply will be sent from your destination address (like `my-name@gmail.com`), not your custom address (like `info@my-company.com`). -### Signs such "`+`" and "`.`" are treated as normal characters for custom addresses +### "`.`" is treated as normal characters for custom addresses -Email Routing does not have advanced routing options. Characters such as `+` or `.`, which perform special actions in email providers like Gmail and Outlook, are currently treated as normal characters on custom addresses. More flexible routing options are in our roadmap. +The `.` character, which perform special actions in email providers like Gmail, is treated as a normal character on custom addresses. \ No newline at end of file diff --git a/src/content/docs/email-routing/setup/email-routing-addresses.mdx b/src/content/docs/email-routing/setup/email-routing-addresses.mdx index 6774700073daff..999a654b71be7f 100644 --- a/src/content/docs/email-routing/setup/email-routing-addresses.mdx +++ b/src/content/docs/email-routing/setup/email-routing-addresses.mdx @@ -19,7 +19,7 @@ An email rule is a pair of a custom email address and a destination address, or :::note -If you have more than one destination address linked to the same custom address, Email Routing will only process the most recent rule. This means only the most recent pair of custom address and destination address (rule) will receive your forwarded emails. To avoid this, do not link more than one destination address to the same custom address. +If you have more than one destination address linked to the same custom address, Email Routing will only process the most recent rule. This means only the most recent pair of custom address and destination address (rule) will receive your forwarded emails. To avoid this, do not link more than one destination address to the same custom address. ::: ### Email rule actions @@ -65,6 +65,16 @@ To enable Catch-all addresses: 4. In the **Action** drop-down menu, select what to do with these emails. Refer to [Email rule actions](#email-rule-actions) for more information. 5. Select **Save**. +## Subaddressing + +Email Routing supports subaddressing, also known as plus addressing, as defined in [RFC 5233](https://www.rfc-editor.org/rfc/rfc5233). This enables using the "+" separator to augment your custom addresses with arbitrary detail information. + +You can enable subaddressing at **Email** > **Email Routing** > **Settings**. + +Once enabled, you can use subaddressing with any of your custom addresses. For example, if you send an email to `user+detail@example.com` it will be captured by the `user@example.com` custom address. The `+detail` part is ignored by Email Routing, but it can be captured next in the processing chain in the logs, an [Email Worker](/email-routing/email-workers/) or an [Agent application](https://github.com/cloudflare/agents/tree/main/examples/email-agent). + +If a custom address 'user+detail@example.com` already exists, it will take precedence over 'user@example.com'. This prevents breaking existing routing rules for users, and allows certain sub-addresses to be captured by a specific rule. + ## Destination addresses This section lets you manage your destination addresses. It lists all email addresses already verified, as well as email addresses pending verification. You can resend verification emails or delete destination addresses. @@ -79,4 +89,4 @@ To prevent spam, email rules do not become active until after the destination ad Deleting a destination address automatically disables all email rules that use that email address as destination. -::: +::: \ No newline at end of file