Types of Bounces (Hard/Soft/Other)
MailsDaily breaks bounce messages down into three different types:
Type | Description |
---|---|
Hard | A hard bounce is where the ISP is explicitly saying that this email address is not valid. Typically this is a “user does not exist” error message. |
Soft | A soft bounce is an error condition, which if it continues, the email address should be considered invalid. An example is a “DNS Failure” (code 21) bounce message. This can happen because the domain name no longer exists, or this could happen because the DNS registration expired and will be renewed tomorrow, or there was a temporary DNS lookup error. If the “DNS failure” messages persist, then we know the address is bad. |
Other | An other bounce is an error condition where the delivery failed which does not mean that the email address is bad. Typically this is a spam blocking. Instead of removing the email addresses from your list, you would want to solve whatever caused the blocking and restore delivery to these addresses. |
About “other” bounces: In the future we may build a quarantine facility for email addresses that consistently fail with “other” bounces. The reason is as follows: If an email address bounces with an “other” bounce every time we send to it, then there is no point in continuing to send to it, which may just bother the ISP. To solve this problem, instead of removing the email address from the list, the email address would be placed in a quarantine that would prevent you from sending to that email address. When this happens, you would be notified of the quarantine, and after fixing the root delivery problem, you could easily release the email addresses from quarantine.
Bounce Codes
Bounce messages are categorized into different bounce codes. Each code has a default type (Hard, Soft or Other).
Code | Description | Default type | Example SMTP Response |
---|---|---|---|
10 | Bad email address | Hard | 550 User Unknown |
20 | Temp failure – General | Soft | |
21 | Temp failure – DNS Failure | Soft | |
22 | Temp failure – Mailbox full | Soft | |
23 | Temp failure – Message size too large | Soft | |
29 | Temp failure – Unable to connect | Soft | |
30 | Bounce with no email address | Other | |
40 | General bounce | Other | Sorry, I wasn’t able to establish an SMTP connection. (#4.4.1)/I’m not going to try again; this message has been in the queue too long. |
50 | Mail block – General | Other | |
51 | Mail block – Known Spammer | Other | |
52 | Mail block – Spam detected | Other | |
53 | Mail block – Attachment detected | Other | |
54 | Mail block – Relay denied | Other | |
59 | Mail block – Unable to connect | Other | |
60 | Auto-reply | Other | |
70 | Transient bounce | Other | |
90 | Unsubscribe request | Hard | |
100 | Challenge response | Other | |
110 | Over MailsDaily throttle limit | Other | |
120 | Queue dumped | Other | |
121 | Delivery paused then message expired | Other | |
200 | Spam complaint | NA | NA |
29 – Soft bounce – Unable to connect
This is a soft bounce where we were unable to connect to the remote server. If there are many bounces with this code for a single domain, this usually means that the domain in not working or that the domain is blocking your mail server.
59 – Mail block – Unable to connect
This is a bounce where we were unable to connect to the remote server (much like code 29), however this is to a large domain name, so we are reasonably confidant that the domain name did not cease to exist, but that they are blocking all connections from your IP address. Some large domains, when blacklisting, will completely block your IP from connecting to their servers.
110 – Over MailsDaily throttle limit
This bounce happens when a message has been in the queue past the queuelifetime limit, is scheduled for a delivery attempt, but that delivery attempt is can not be made because it would go over the configured throttle settings for that ISP or Relay Server (a connmaxout failure).
120 – Queue dumped
This is a bounce where MailsDaily was told to dump the messages in the queue. All the messages dumped from the queue will bounce with this code.
121 – Delivery paused then message expired
This is a bounce where MailsDaily was told to pause delivery of messages in a queue. After the maximum retry time the messages are bounced, and they are bounced with this code.