SMTP Service Extension for Returning Enhanced Error Codes
RFC 2034

Document Type RFC - Proposed Standard (October 1996; No errata)
Was draft-freed-smtperror (individual)
Last updated 2013-03-02
Stream Legacy
Formats plain text pdf html bibtex
Stream Legacy state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state RFC 2034 (Proposed Standard)
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                       N. Freed
Request for Comments: RFC 2034                              Innosoft
Category: Standards Track                               October 1996

                       SMTP Service Extension for
                     Returning Enhanced Error Codes

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

1.  Abstract

   This memo defines an extension to the SMTP service [RFC-821, RFC-
   1869] whereby an SMTP server augments its responses with the enhanced
   mail system status codes defined in RFC 1893.  These codes can then
   be used to provide more informative explanations of error conditions,
   especially in the context of the delivery status notifications format
   defined in RFC 1894.

2.  Introduction

   Although SMTP is widely and robustly deployed, various extensions
   have been requested by parts of the Internet community. In
   particular, in the modern, international, and multilingual Internet a
   need exists to assign codes to specific error conditions that can be
   translated into different languages. RFC 1893 defines such a set of
   status codes and RFC 1894 defines a mechanism to send such coded
   material to users. However, in many cases the agent creating the RFC
   1894 delivery status notification is doing so in response to errors
   it received from a remote SMTP server.

   As such, remote servers need a mechanism for embedding enhanced
   status codes in their responses as well as a way to indicate to a
   client when they are in fact doing this. This memo uses the SMTP
   extension mechanism described in RFC 1869 to define such a mechanism.

Freed                       Standards Track                     [Page 1]
RFC 2034               SMTP Enhanced Error Codes            October 1996

3.  Framework for the Enhanced Error Statuses Extension

   The enhanced error statuses transport extension is laid out as

   (1)   the name of the SMTP service extension defined here is

   (2)   the EHLO keyword value associated with the extension is

   (3)   no parameter is used with the ENHANCEDSTATUSCODES EHLO

   (4)   the text part of all 2xx, 4xx, and 5xx SMTP responses
         other than the initial greeting and any response to
         HELO or EHLO are prefaced with a status code as defined
         in RFC 1893. This status code is always followed by one
         or more spaces.

   (5)   no additional SMTP verbs are defined by this extension;

   (6)   the next section specifies how support for the
         extension affects the behavior of a server and client

4.  The Enhanced-Status-Codes service extension

   Servers supporting the Enhanced-Status-Codes extension must preface
   the text part of almost all response lines with a status code. As in
   RFC 1893, the syntax of these status codes is given by the ABNF:

        status-code ::= class "." subject "." detail
        class       ::= "2" / "4" / "5"
        subject     ::= 1*3digit
        detail      ::= 1*3digit

   These codes must appear in all 2xx, 4xx, and 5xx response lines other
   than initial greeting and any response to HELO or EHLO. Note that 3xx
   responses are NOT included in this list.

   All status codes returned by the server must agree with the primary
   response code, that is, a 2xx response must incorporate a 2.X.X code,
   a 4xx response must incorporate a 4.X.X code, and a 5xx response must
   incorporate a 5.X.X code.

Freed                       Standards Track                     [Page 2]
RFC 2034               SMTP Enhanced Error Codes            October 1996

   When responses are continued across multiple lines the same status
   code must appear at the beginning of the text in each line of the

   Servers supporting this extension must attach enhanced status codes
   to their responses regardless of whether or not EHLO is employed by
   the client.

5.  Status Codes and Negotiation

   This specification does not provide a means for clients to request
   that status codes be returned or that they not be returned; a
   compliant server includes these codes in the responses it sends
   regardless of whether or not the client expects them.  This is
   somewhat different from most other SMTP extensions, where generally
   speaking a client must specifically make a request before the
   extended server behaves any differently than an unextended server.
   The omission of client negotiation in this case is entirely
   intentional: Given the generally poor state of SMTP server error code
Show full document text