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 EmailPromotional messaging sent to an audience of users who have opted in to receive 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.
Classification | Name | Description | Category |
---|---|---|---|
1 | Undetermined | The response text could not be identified. | Undetermined |
10 | Invalid Recipient | The recipient is invalid. | Hard |
20 | Soft Bounce | The message soft bounced. | Soft |
21 | DNS Failure | The message bounced due to a DNS failure. | Soft |
22 | Mailbox Full | The message bounced due to the remote mailbox being over quota. | Soft |
23 | Too Large | The message bounced because it was too large for the recipient. | Soft |
24 | Timeout | The message timed out. | Soft |
25 | Admin Failure | The message was failed by SparkPost’s configured policies. | Admin |
26 | Smart Send Suppression | The message was suppressed by Smart Send policy. | Admin |
30 | Generic Bounce: No RCPT | No recipient could be determined for the message. | Hard |
40 | Generic Bounce | The message failed for unspecified reasons. | Soft |
50 | Mail Block | The message was blocked by the receiver. | Block |
51 | Spam Block | The message was blocked by the receiver as coming from a known spam source. | Block |
52 | Spam Content | The message was blocked by the receiver as spam. | Block |
53 | Prohibited Attachment | The message was blocked by the receiver because it contained an attachment. | Block |
54 | Relaying Denied | The message was blocked by the receiver because relaying is not allowed. | Block |
60 | Auto-Reply | The message is an auto-reply/vacation mail. | Soft |
70 | Transient Failure | Message transmission has been temporarily delayed. | Soft |
80 | Subscribe | The message is a subscribe request. | Admin |
90 | Unsubscribe | The message is an unsubscribe request. | Hard |
100 | Challenge-Response | The message is a challenge-response probe. | Soft |
Categories