Email Bounce Handling and Suppression

Airship handles issues with email delivery automatically to protect your sending reputation and help ensure compliance.

Email bounce events

When an email fails to deliver to a recipient’s inbox, Airship will report that failure via the Compliance Stream and internal reporting. Emails can bounce for a variety of reasons, which Airship will consider either a “soft” or “hard” bounce.

Airship distinguishes between hard and soft bounces with a bounce_class. Hard bounces are represented in events with bounce_class values of 10, 30, or 90. When a hard bounce response is received, an email address is considered to be permanently undeliverable. All other classes of bounce are considered soft bounces and delivery will continue to be attempted for future messages. In order to protect your sending reputation, email addresses that receive a hard bounce will be “suppressed” from future messaging.

Email suppression

Suppression acts as a failsafe to prevent accidental sends to addresses that may pose a risk to either sending reputation or to legal compliance. Airship tracks a suppression state per channel, in addition to transactional and commercial opt-in status. To be eligible to receive email messages, an address must be both opted-in and not suppressed for the type of messaging being sent.

For example, when a recipient marks a message as spam, a suppression state of spam_complaint is added to the channel. While suppressed, the email address will not receive any messaging, regardless of their opt-in state. If an audience list is later uploaded that updates the opt-in status of the email address, Airship will continue to honor the suppression state and will continue to not send any messages to the address.

Suppression types

An email channel can have one of four suppression state values. Depending on the value, the suppression state can function as either a full or partial block.

  • bounce — A hard bounce response was received. The address is considered undeliverable, and continuing to send to it could hurt the sender’s reputation. No future messages will be sent to the email address.

  • spam_complaint — A recipient marked a Transactional EmailAn email sent in response to a user’s interaction with your app or website — receipts, shipping notifications, password reset notifications, etc. as spam. This indicates they do not wish to receive any additional messages from the brand, regardless of type. No future messages will be sent to the email address.

  • commercial_spam_complaint — A recipient reported a message designated as Commercial EmailA promotional email sent to an audience of users who have opted to receive promotional marketing messages from you. as spam. They have indicated that they do not want to receive future communications of that type. Transactional email will continue to be sent, but no future commercial email will be sent.

  • imported — This value may be set manually via API or list upload to suppress a channel. No future messages will be sent to the email address.

Looking up suppression state

  • API — Use the API to download a list of all email channels with their suppression state included.

  • Dashboard — If you know the email address, named user, or channel ID that you are looking for, you can view the suppression state for an individual channel in Contact Management.

Setting suppression

Set suppression status for an individual email channel using the Suppress an Email Channel API.

Removing suppression


  • Suppression is an added layer of protection that opts out an email channel from messaging, preventing sending email to the address. Please consult your legal counsel to determine if your specific use case aligns with regulatory requirements in your jurisdiction.

  • After removing suppression, you must opt the channel back in to messaging before they can receive email from you again.

For the API, use the Remove Suppression from an Email Channel API to remove the suppression reason. For the dashboard, see Removing email suppression in Contact Management.

Bounce class reference

The bounce compliance event type reflects the reason that an email server or recipient rejected your email as a bounce_class. The bounce_class is a reason code between 1 and 100.


Hard bounce_class events (classifications 10, 30, and 90) result in an automatic opt-out for the delivery_address listed in the event.

1UndeterminedThe response text could not be identified.Undetermined
10Invalid RecipientThe recipient is invalid.Hard
20Soft BounceThe message soft bounced.Soft
21DNS FailureThe message bounced due to a DNS failure.Soft
22Mailbox FullThe message bounced due to the remote mailbox being over quota.Soft
23Too LargeThe message bounced because it was too large for the recipient.Soft
24TimeoutThe message timed out.Soft
25Admin FailureThe message was failed by SparkPost’s configured policies.Admin
26Smart Send SuppressionThe message was suppressed by Smart Send policy.Admin
30Generic Bounce: No RCPTNo recipient could be determined for the message.Hard
40Generic BounceThe message failed for unspecified reasons.Soft
50Mail BlockThe message was blocked by the receiver.Block
51Spam BlockThe message was blocked by the receiver as coming from a known spam source.Block
52Spam ContentThe message was blocked by the receiver as spam.Block
53Prohibited AttachmentThe message was blocked by the receiver because it contained an attachment.Block
54Relaying DeniedThe message was blocked by the receiver because relaying is not allowed.Block
60Auto-ReplyThe message is an auto-reply/vacation mail.Soft
70Transient FailureMessage transmission has been temporarily delayed.Soft
80SubscribeThe message is a subscribe request.Admin
90UnsubscribeThe message is an unsubscribe request.Hard
100Challenge-ResponseThe message is a challenge-response probe.Soft