Delivery Status Notification (DSN) dictionary: codes, messages and bounces
“Delivery status notifications” are crucial communication layer of SMTP, but their terminology is confusing and contradictory. This dictionary explains old and new labels to provide consistent and unambiguous labels for the most important DSN-related components.
Delivery Status Notification (DSN) Terminology
DSN code
The primary delivery status code returned by the recipient mailserver. The code should be one of those defined by IETF technical specifications such as rfc3463. Also known as ‘Enhanced Status Notification’ or ESC codes.
DSN status
Human-readable keyword indicating the fate of an email. Most commonly: sent, deferred, bounced, expired.
DSN message
The entirety of the unstructured text response from the recipient mailserver. No consistent format is used for the message, though it typically contains sub-parts including a DSN host-specific code. A human-readable explanation may or may not be included.
DSN host-specific code
An additional status code which is specific to the recipient mail host and extends information provided by the DSN code. They can provide more detailed information explaining the behaviour of the recipient host, e.g. which anti-spam policy was triggered by a message which was rejected.
The codes may or may not be defined on the recipient hosts website (example: Xfinity / Comcast). Often these codes are not reliable, either not meeting the definitions of the hosts which use them, or not being used consistently. Sometimes definitions are ostensibly shared by multiple mailhosting companies, but in practice their meaning tends to diverge.
Bounce email
The email which a sending mailserver generates to warn a mailbox user (e.g. the person who wrote and sent an email) of a problem with their message. Bounce messages often contain technical information such as the DSN code and DSN message. They are frequently the only way a mailbox user can know of an email delivery problem.
Bounce emails are always generated and sent by the sending mailserver, however a common source of confusion is when they are misunderstood to be generated and sent by the recipient mailserver. These emails are a courtesy of the sending email server to draw attention to the fact it failed to complete a delivery. As such they can only contain as much information as the sending server has access to, which may be little.