# Email bounces

> How SendPing records hard and soft bounces, and suppresses permanent or repeatedly failing recipients.

A bounce means the receiving mail system rejected your message. SendPing distinguishes two kinds, and treats them differently:

| Type | What it means | SendPing behavior |
| --- | --- | --- |
| **Hard (permanent)** | The address is invalid or permanently undeliverable. | Email status → `bounced`; the recipient is **auto-suppressed** for your account. |
| **Soft (transient)** | A temporary problem — full mailbox, throttling, grey-listing. | Recorded as `delivery_delayed` or `bounced`; one failure remains retryable, but a second soft bounce within 30 days is **auto-suppressed**. |

## Bounce types and subtypes

When a message bounces, SendPing reports a **type** and a more specific **subtype** describing why delivery failed. These are recorded on the email so you can tell a permanent failure apart from a retryable one. There are three types:

| Type | Subtype | What it means |
| --- | --- | --- |
| `Permanent` (hard) | `General` | The recipient’s provider sent a hard bounce — the address is undeliverable and will not accept the message. |
| `Permanent` (hard) | `NoEmail` | The recipient address could not be extracted from the bounce message. |
| `Transient` (soft) | `General` | A general temporary failure. A later send to the same recipient may succeed once the issue clears. |
| `Transient` (soft) | `MailboxFull` | The recipient’s inbox was full. Retrying later may succeed. |
| `Transient` (soft) | `MessageTooLarge` | The message exceeded the recipient provider’s size limit. Reduce the size and retry. |
| `Transient` (soft) | `ContentRejected` | The provider rejected the message content. Changing the content may let it through. |
| `Transient` (soft) | `AttachmentRejected` | An attachment was unacceptable (file type or size). Remove or change it and retry. |
| `Undetermined` | `Undetermined` | The server bounced but the message lacked enough detail to classify the reason. |

> **Note:** `Permanent` bounces auto-suppress immediately. A single `Transient` or `Undetermined` bounce remains retryable; a second soft bounce for the same address within 30 days auto-suppresses it, preventing a persistent full mailbox or receiver failure from being retried indefinitely. Note that some autoresponders signal as a `Transient` bounce rather than a real failure.

## How bounces are recorded

When a bounce is reported, SendPing matches it to the original email, advances its `status` to `bounced` (or `delivery_delayed` for a transient delay), and appends a `bounced` (or `delivery_delayed`) entry to the email's [event log](https://www.sendping.co/docs/emails/managing). The same event is forwarded to your [webhooks](https://www.sendping.co/docs/webhooks/overview) as `email.bounced` (or `email.delivery_delayed`). Redelivered notifications are de-duplicated, so a bounce is never recorded or forwarded twice.

## Auto-suppression after permanent or repeated failure

A **permanent** bounce immediately adds the recipient to your account-wide [suppression list](https://www.sendping.co/docs/emails/suppressions). A first soft bounce remains retryable, but two distinct soft-bounced emails within 30 days add the address too. On every later send, SendPing skips that recipient — protecting your sender reputation without permanently blocking an address for one short-lived outage.

> **Warning:** Repeatedly mailing addresses that hard-bounce damages your domain's deliverability with mailbox providers. Auto-suppression exists to prevent exactly this — do not work around it by stripping suppressed recipients from your own lists and re-adding them.
