SMTP Status Codes

This document describes the set of extended status codes for use within the SMTP mail system for delivery status reports, tracking, and improved diagnostics. In combination with other information provided in the Delivery Status Notification (DSN) delivery report, these codes facilitate media and language independent rendering of message delivery status.


 * These codes are documented in RFC 3463

Status Code Structure
This document defines a new set of status codes to report mail system conditions. These status codes are used for media and language independent status reporting. They are not intended for system specific diagnostics.

The syntax of the new status codes is defined as:

status-code = class "." subject "." detail

class = "2"/"4"/"5" subject = 1*3digit detail = 1*3digit

White-space characters and comments are NOT allowed within a status-code. Each numeric sub-code within the status-code MUST be expressed without leading zero digits.

Status codes consist of three numerical fields separated by ".". The first sub-code indicates whether the delivery attempt was successful. The second sub-code indicates the probable source of any delivery anomalies, and the third sub-code indicates a precise error condition.

Example: 2.1.23

The code space defined is intended to be extensible only by standards track documents. Mail system specific status codes should be mapped as close as possible to the standard status codes. Servers should send only defined, registered status codes. System specific errors and diagnostics should be carried by means other than status codes.

New subject and detail codes will be added over time. Because the number space is large, it is not intended that published status codes will ever be redefined or eliminated. Clients should preserve the extensibility of the code space by reporting the general error described in the subject sub-code when the specific detail is unrecognized.