I'm discovering there's a lot to bounce management and of course
if it's not done right it can quickly cause customer churn and high
costs to resolve. This post deals with the basics.
There are three classes of response we get from recipient mail
servers:
- "2xx" Positive completion - the requested action has been
completed by the mail server. This does not necessarily indicate
that mail has been delivered to the recipients inbox.
- "4xx" Transient negative completion - the command was not
accepted, but is a temporary error condition and the command may be
repeated by the sending server. This state can persist for up to
several days before a max reties threshold is reached and the
message is flagged as a permanent bounce.
- "5xx" Permanent negative completion - any 500 series response,
whether received on the first attempt (a synchronous hard bounce)
or following a transient bounce (asynchronous) is classified as a
hard bounce
Technically, there is a fourth class "3xx Positive intermediate
reply", but it seldom if ever appears without a subsequent
overriding response.
"5xx" class includes many sub-types such as "domain lookup
failed" and "too many invalid addresses". It also includes messages
generated by the sending server such as "Exceeded max retries".
There's one sub-class that as email service providers we're really
interested in and that's "invalid address". Unfortunately we can't
identify these by the 550 response code alone because this can be
used for other bounce reasons too (such as "Too many invalid
recipients").
All email records that have experienced hard bounces of the
"invalid address" type should be removed from the list.