Network Working Group N. Freed Request for Comments: RFC 2034 Innosoft Category: Standards Track October 1996SMTP Service Extension for Returning Enhanced Error Codes
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.
Freed Standards Track [Page 1]
RFC 2034 SMTP Enhanced Error Codes October 1996 3. Framework for the Enhanced Error Statuses ExtensionThe enhanced error statuses transport extension is laid out as follows:
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:
Freed Standards Track [Page 2]
RFC 2034 SMTP Enhanced Error Codes October 1996
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 implementation it is felt that any step taken towards more comprehensible error codes is something that all clients, extended or not, should benefit from.
6. Usage Example
The following dialogue illustrates the use of enhanced status codes by a server:
Freed Standards Track [Page 3]
RFC 2034 SMTP Enhanced Error Codes October 1996
...
----- Mail was successfully relayed to
the following addresses -----
<mrose@dbc.mtview.ca.us>
----- The following addresses had delivery problems -----
<nosuchuser@dbc.mtview.ca.us>
(Mailbox "nosuchuser" does not exist)
Freed Standards Track [Page 4]
RFC 2034 SMTP Enhanced Error Codes October 1996
550 Mailbox "nosuchuser" does not exist
7. Security Considerations
Additional detail in server responses axiomatically provides additional information about the server. It is conceivable that additional information of this sort may be of assistance in circumventing server security. The advantages of provides additional information must always be weighed against the security implications of doing so.
Freed Standards Track [Page 5]
RFC 2034 SMTP Enhanced Error Codes October 1996 8. References[RFC-821]
9. Author Address
Ned Freed Innosoft International, Inc. 1050 East Garvey Avenue South West Covina, CA 91790 USA tel: +1 818 919 3600 fax: +1 818 919 3614 email: ned@innosoft.com