GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


rfc:rfc2034

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 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.
 IMPORTANT NOTE:  The use of this approach in this extension should be
 seen as a very special case.  It MUST NOT be taken as a license for
 future SMTP extensions to dramatically change the nature of SMTP
 client-server interaction without proper announcement from the server
 and a corresponding enabling command from the client.

6. Usage Example

 The following dialogue illustrates the use of enhanced status codes
 by a server:
 S: <wait for connection on TCP port 25>
 C: <open connection to server>
 S: 220 dbc.mtview.ca.us SMTP service ready
 C: EHLO ymir.claremont.edu
 S: 250-dbc.mtview.ca.us says hello
 S: 250 ENHANCEDSTATUSCODES
 C: MAIL FROM:<ned@ymir.claremont.edu>
 S: 250 2.1.0 Originator <ned@ymir.claremont.edu> ok
 C: RCPT TO:<mrose@dbc.mtview.ca.us>
 S: 250 2.1.5 Recipient <mrose@dbc.mtview.ca.us> ok
 C: RCPT TO:<nosuchuser@dbc.mtview.ca.us>
 S: 550 5.1.1 Mailbox "nosuchuser" does not exist
 C: RCPT TO:<remoteuser@isi.edu>
 S: 551-5.7.1 Forwarding to remote hosts disabled

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

 S: 551 5.7.1 Select another host to act as your forwarder
 C: DATA
 S: 354 Send message, ending in CRLF.CRLF.
  ...
 C: .
 S: 250 2.6.0 Message accepted
 C: QUIT
 S: 221 2.0.0 Goodbye
 The client that receives these responses might then send a
 nondelivery notification of the general form:
    Date: Mon, 11 Mar 1996 09:21:47 -0400
    From: Mail Delivery Subsystem <mailer-daemon@ymir.claremont.edu>
    Subject: Returned mail
    To: <ned@ymir.claremont.edu>
    MIME-Version: 1.0
    Content-Type: multipart/report; report-type=delivery-status;
          boundary="JAA13167.773673707/YMIR.CLAREMONT.EDU"
  1. -JAA13167.773673707/YMIR.CLAREMONT.EDU

content-type: text/plain; charset=us-ascii

  1. —- Mail was successfully relayed to

the following addresses —–

    <mrose@dbc.mtview.ca.us>
  1. —- The following addresses had delivery problems —–

nosuchuser@dbc.mtview.ca.us

      (Mailbox "nosuchuser" does not exist)
    <remoteuser@isi.edu>
      (Forwarding to remote hosts disabled)
  1. -JAA13167.773673707/YMIR.CLAREMONT.EDU

content-type: message/delivery-status

    Reporting-MTA: dns; ymir.claremont.edu
    Original-Recipient: rfc822;mrose@dbc.mtview.ca.us
    Final-Recipient: rfc822;mrose@dbc.mtview.ca.us
    Action: relayed
    Status: 2.1.5 (Destination address valid)
    Diagnostic-Code: smtp;
     250 Recipient <mrose@dbc.mtview.ca.us> ok
    Remote-MTA: dns; dbc.mtview.ca.us

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

    Original-Recipient: rfc822;nosuchuser@dbc.mtview.ca.us
    Final-Recipient: rfc822;nosuchuser@dbc.mtview.ca.us
    Action: failed
    Status: 5.1.1 (Bad destination mailbox address)
    Diagnostic-Code: smtp;
     550 Mailbox "nosuchuser" does not exist
    Remote-MTA: dns; dbc.mtview.ca.us
    Original-Recipient: rfc822;remoteuser@isi.edu
    Final-Recipient: rfc822;remoteuser@isi.edu
    Action: failed
    Status: 5.7.1 (Delivery not authorized, message refused)
    Diagnostic-Code: smtp;
      551 Forwarding to remote hosts disabled
      Select another host to act as your forwarder
    Remote-MTA: dns; dbc.mtview.ca.us
  1. -JAA13167.773673707/YMIR.CLAREMONT.EDU

content-type: message/rfc822

    [original message goes here]
    --JAA13167.773673707/YMIR.CLAREMONT.EDU--
 Note that in order to reduce clutter the reporting MTA has omitted
 enhanced status code information from the diagnostic-code fields it
 has generated.

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]
      Postel, J., "Simple Mail Transfer Protocol", RFC 821,
      August, 1982.  (August, 1982).
 [RFC-1869]
      Rose, M., Stefferud, E., Crocker, C., Klensin, J., Freed,
      N., "SMTP Service Extensions", RFC 1869, November, 1995.
 [RFC-1893]
      Vaudreuil, G., "Enhanced Mail System Status Codes", RFC
      1893, January, 1996.
 [RFC-1894]
      Moore, K., Vaudreuil, G., "An Extensible Message Format
      for Delivery Status Notifications", RFC 1894, January,
      1996.

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

Freed Standards Track [Page 6]

/data/webs/external/dokuwiki/data/pages/rfc/rfc2034.txt · Last modified: 1996/10/28 19:05 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki