shiichan

Did you know Email Sending suppressions can now be scoped to a single domain?

Hey everyone, it's me! Cloudflare just shipped a small but very welcome feature for Email Sending, so let's take a look!

Cloudflare Changelog developers.cloudflare.com

What was announced?

According to Cloudflare's Changelog, recipient suppressions in Email Sending now support a "scope" setting. Instead of always applying to your whole account, a suppression can now be limited to a single sending domain.

The story so far

Until now, suppressions applied to your entire account by default, which meant a bounce or complaint problem on one sending domain could end up affecting deliverability for every other domain in your account too.

What changes

There are now two scope types: account (applies to every domain, the default) and sending_domain (applies to just one domain). With sending_domain, a suppression for mail.myappexample.com won't block mail from myappexample.com. On top of that, Email Sending now automatically creates bounce and complaint suppressions at the sending-domain level, so an issue with one domain no longer suppresses recipients account-wide.

Dive Deep

In the dashboard, go to Email Sending > Suppressions and pick "Sending domain" as the scope. Imports can also set a scope per row or a default scope. Via the API:

curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/email/sending/suppressions \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "email": "user@example.net",
    "scope": { "type": "sending_domain", "value": "mail.myappexample.com" }
  }'

You can also filter the suppressions list by scope, e.g. scope_type=sending_domain&scope_value=mail.myappexample.com. If you omit scope, the API still creates an account-level suppression, so existing integrations keep working unchanged.

Wrap-up

  • Email Sending suppressions now support account / sending_domain scopes
  • Bounce and complaint suppressions are now created at the sending-domain level automatically
  • You can set scope from the dashboard, imports, or the API
  • Omitting scope keeps the old account-wide behavior, so nothing breaks
  • Great news if you run multiple sending domains and want to stop one domain's problems from spreading!