Bounces, or mail delivery failures, can occur for a multitude of reasons, and understanding whether or not a bounce was preventable can provide insight into improving your overall email deliverability. This guide will help illustrate how bounce responses are relayed from receivers and how MessageGears helps classify those bounces for further processing.
A bounce response from a mailbox provider typically includes 3 key elements that help identify the cause of the rejection: a basic SMTP status code, an enhanced SMTP status code, and a text description. Let's take a look at each of those items and the data they provide.
SMTP Status Code
SMTP status codes are 3 digits in succession and provide basic classification for delivery status:
2xx: mail was successfully handed off to the receiving mail server.
250 okis the typical response when a message is delivered to the intended server.
4xx: mail was rejected based on a temporary condition. These are also commonly called temp fails, deferrals, transient bounces, or soft bounces. The general assumption is that these bounces can be retried for the standard retry period (up to 24 hours). If, at the end of the retry window, the mail remains undelivered, it is recorded in your data as a bounce. Because the condition causing the bounce is believed to be temporary, failure of a single message to be delivered doesn't necessarily prohibit future attempts at sending to that address.
5xx: mail was rejected due to a permanent condition. When a 5xx bounce is received, our servers attempt no further retries and the mail is categorized as a bounce. These are often referred to as hard bounces. In most cases, addresses that receive this type of bounce should be suppressed from future mailings; however, immediate suppression is not always recommended.
Enhanced SMTP Status Code
While basic SMTP status codes provide a limited number of status options, a newer standard allows for slightly more detailed response codes. These function similarly to the basic codes, but with a bit more structure to provide more detailed information about the delivery status. Each of the three digits is separated by a period and has its own set of potential values. For the first digit, the options are essentially identical to the codes above:
2.X.Xindicates the mail was successfully handed off.
4.X.Xmeans the mail was rejected due to a temporary issue.
5.X.Xmeans the mail was rejected due to a permanent or persistent issue.
For the second digit, values 0-7 each carry a unique status identifier as follows:
X.0.Xindicates an "undefined" status. No additional details are available for this code.
X.1.Xindicates an addressing error. These may be on the sending or receiving end, and could include a poorly formatted or nonexistent address.
X.2.Xis a mailbox status error. This may mean the specific mailbox is temporarily or permanently disabled, or some other unreachable status. These errors are almost exclusively on the receiver's end and must be addressed by the mailbox owner.
X.3.Xis a mail system status error. While the mailbox error indicates an issue with the specific user's mailbox, this code refers to a larger system issue. These issues exist on the receiving end and typically must be resolved by an administrator of that receiving network.
X.4.Xindicates an issue with general network or routing status. These can include DNS issues or other routing failures. Issues may be isolated to a single receiver network or may exist on some intermediary network between the sender and receiver.
X.5.Xrefers to a protocol status error. These are fairly vague and could include a wide range of issues, typically resulting from implementation errors or an unreliable connection.
X.6.Xis caused by message content or associated media within the message content. Errors in translation, character encoding mismatches, or unsupported media types are common factors in these bounces. Resolving these bounces may require cooperation to ensure all message content generated by the sender is in a format supported by the receiver.
X.7.Xindicates a security or policy status failure. These include message filtering at the user or network level, as well as errors in cryptographic operations. These bounces may also require a collaborative effort to resolve.
The third digit in these enhanced codes indicates more specifically what caused each error. While there are too many potential codes to include in this article, you can find the full list on the IANA's website.
Bounce Text Description
In addition to the status codes outlined above, most bounce responses also include some human-readable descriptive text intended to relay the cause of the bounce. Each receiving mail server must be configured to send these responses, and there is no definitive standard in place for the industry. As such, some responses are helpful and prescriptive, others may be a bit more vague, and still others include little if any useful text.
When a message you send through MessageGears is rejected, our systems attempt to parse the bounce into one of several categories designed to aid you in managing bounced addresses. A set of internal rules analyzes the data included in the SMTP responses referenced above and classifies each bounce as one of the following:
Please remove all bounces of type 10 and 30. Failure to do so may negatively impact your inbox performance with the various ISPs.
|Undetermined||1||The response text could not be identified.|
|Invalid Recipient||10||The recipient is invalid.|
|Soft Bounce||20||The message soft bounced.|
|DNS Failure||21||The message bounced due to a DNS failure.|
|Mailbox Full||22||The message bounced due to the remote mailbox being over quota.|
|Too Large||23||The message bounced because it was too large for the recipient.|
|Timeout||24||The message timed out.|
|Admin Failure||25||The message was failed by configured policies.|
|Generic Bounce: No RCPT||30||No recipient could be determined for the message.|
|Generic Bounce||40||The message failed for unspecified reasons.|
|Mail Block||50||The message was blocked by the receiver.|
|Spam Block||51||The message was blocked by the receiver as coming from a known spam source.|
|Spam Content||52||The message was blocked by the receiver as spam.|
|Prohibited Attachment||53||The message was blocked by the receiver because it contained an attachment.|
|Relay Denied||54||The message was blocked by the receiver because relaying is not allowed.|
|Transient Failure||70||Message transmission has been temporarily delayed.|
|Invalid Email Syntax||110||The message has a malformed/invalid email address.|
|Hardbounce Suppression||130||The message is a known-bad email address and has hard bounces with a category 10 or 30 in the past. It was suppressed from sending to protect IP reputation with the ISP.|
|Unsubscribe Suppression||131||The recipient of the message has unsubscribed from a message from your account in the past. It was suppressed from sending to protect your sending reputation.|
|Fbl Suppression||132||The recipient of the message has filed a spam complaint with your account in the past. It was suppressed from sending to protect your sending reputation.|
|Complainer Suppression||133||The recipient of the message is a known complainer. It was suppressed from sending to protect your sending reputation.|
|Domain Suppression||134||The recipient domain is not allowed. It was suppressed from sending to protect your sending reputation.|
|Role Suppression||135||The recipient address is not allowed. It was suppressed from sending to protect your sending reputation.|
|Admin Suppression||136||The recipient was suppressed via a suppression list attached to your campaign.|