SMTP Service Extension for Returning Enhanced Error Codes
RFC 2034
Document | Type |
RFC - Proposed Standard
(October 1996; No errata)
Was draft-freed-smtperror (individual)
|
|
---|---|---|---|
Author | Ned Freed | ||
Last updated | 2013-03-02 | ||
Stream | Legacy stream | ||
Formats | plain text html pdf htmlized (tools) htmlized 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 follows: (1) the name of the SMTP service extension defined here is Enhanced-Status-Codes; (2) the EHLO keyword value associated with the extension is ENHANCEDSTATUSCODES; (3) no parameter is used with the ENHANCEDSTATUSCODES EHLO keyword; (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; and, (6) the next section specifies how support for the extension affects the behavior of a server and client SMTP. 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 response. 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 codeShow full document text