FlaresendDocs

Suppressions

Addresses Flaresend refuses to send to, because they bounced hard, complained, or were added by hand.

The suppression list protects your sending reputation. Mailbox providers treat repeated mail to dead addresses, or to people who marked you as spam, as a sign of a bad sender. Once an address is on the list, every live send to it is refused before anything is queued.

How addresses get on the list

ReasonAdded when
hard_bounceCloudflare reports a hard bounce for the address. Soft bounces (email.deferred) don't count.
hard_bounceCloudflare's send call fails with E_RECIPIENT_SUPPRESSED. Every recipient of that email is added.
complaintThe recipient marks an email as spam. A complaint replaces an earlier hard_bounce or manual reason.
manualYou add it in the dashboard, with the admin API or the CLI.

Each entry keeps the ID of the email that caused it (sourceEmailId), when there is one.

What happens on a send

A live send (with an fs_live_ key, or over RPC) that includes a suppressed address in to, cc or bcc fails with:

{
  "error": {
    "type": "unprocessable",
    "code": "recipient_suppressed",
    "message": "ada@example.com is on the suppression list (hard_bounce)",
    "param": "ada@example.com"
  }
}

The status is 422. param is the address. The whole email is refused, not just that one recipient: remove the address and send again. In a batch, only that item fails.

Test keys skip the check, so you can test with any address.

Broadcasts check the list too, and skip suppressed contacts without failing the broadcast.

One list for all projects

The suppression list is shared by every project on the mailer. An address that hard-bounced for one app is suppressed for all of them, because they all send through the same Cloudflare account and share its reputation.

That is also why managing the list needs the admin key: project API keys can't read or change it.

Two lists: Flaresend's and Cloudflare's

Cloudflare Email Service keeps its own suppression list for your account. Flaresend's list is a local mirror that it fills from Cloudflare's events, plus your manual entries.

  • Removing an address from Flaresend's list doesn't remove it from Cloudflare's. If Cloudflare still has it, the send fails later with E_RECIPIENT_SUPPRESSED and the email ends as rejected (and the address is added back to Flaresend's list).
  • To fully unblock an address, remove it in both places. Cloudflare's list is edited in the Cloudflare dashboard, under Email Service.

Manage the list

Open Suppressions in any project. Search, add an address, or remove one. The page shows the shared list.

Think before removing a complaint

An address with the reason complaint belongs to someone who said your email was spam. Only remove it if the person asked to get email again.

Watch your rates

Analytics returns bounceRate and complaintRate for the project, and topBouncedDomains. See Best practices for what to look for.

On this page