Internet DRAFT - draft-klensin-rfc1846bis

draft-klensin-rfc1846bis






Network Working Group                                  J.C. Klensin, Ed.
Internet-Draft                                           August 11, 2014
Updates: 5321 (if approved)
Obsoletes: 1846 (if approved)
Intended status: Standards Track
Expires: February 10, 2015

                          SMTP 521 Reply Code
                    draft-klensin-rfc1846bis-00.txt

Abstract

   This memo defines a new Simple Mail Transfer Protocol (SMTP) reply
   code, 521, which one may use to indicate that an Internet host does
   not accept incoming mail.  It is a standards track replacement for
   the earlier, experimental, RFC 1846 without any substantive changes.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on February 10, 2015.

Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (http://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Simplified BSD License text
   as described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Simplified BSD License.






Klensin                Expires February 10, 2015                [Page 1]

Internet-Draft            SMTP 521 Reply Code                August 2014


   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Motivations  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Two complementary solutions  . . . . . . . . . . . . . . . . .  3
   4.  The MX relays solution . . . . . . . . . . . . . . . . . . . .  3
   5.  The SMTP server solution . . . . . . . . . . . . . . . . . . .  4
     5.1.  521 greeting . . . . . . . . . . . . . . . . . . . . . . .  4
     5.2.  SMTP dialog  . . . . . . . . . . . . . . . . . . . . . . .  4
     5.3.  MX . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     5.4.  Postmaster . . . . . . . . . . . . . . . . . . . . . . . .  5
   6.  SMTP client behavior . . . . . . . . . . . . . . . . . . . . .  5
   7.  Context and other approaches . . . . . . . . . . . . . . . . .  5
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . .  5
   9.  Contributors . . . . . . . . . . . . . . . . . . . . . . . . .  6
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . .  6
     10.1.  Normative References  . . . . . . . . . . . . . . . . . .  6
     10.2.  Informative References  . . . . . . . . . . . . . . . . .  6
   Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . .  6
     Appendix A.1.  Changes from RFC 1846 . . . . . . . . . . . . . .  6
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . .  6

1.  Introduction

   The SMTP specification [RFC5321] contains a list and discussion of
   error codes.  This document updates that list with a new code, 521,
   for use primarily, ideally exclusively, in response to an initial
   connection.  In that context, it specifically denotes a system that
   does not receive email or otherwise handle SMTP mail or inquiry
   transactions.  That code differs from the use of reply code 554,
   recommended by RFC 5321, because that code can be used in a larger
   variety of situations.










Klensin                Expires February 10, 2015                [Page 2]

Internet-Draft            SMTP 521 Reply Code                August 2014


   This document supersedes and is a standards track replacement for RFC
   1846 [RFC1846].  Formally RFC 1846 was an experiment about the use of
   the 521 code, one that has run for about 19 years.  During that time,
   reply code 521 has been supported in multiple implementations as an
   alternative to other connect-time codes.  This specification updates
   RFC 5321 by adding the 521 code to the recommended code list in
   preference to the use of other connection-time codes to indicate the
   intentional absence of SMTP service on that host.  Because RFC 5321
   requires that clients take their primary actions on the basis of the
   first digit of the reply code, the addition of this code can provide
   additional information but its use, or the use of alternative 5yz
   codes, cannot have significant negative operational effects with
   conforming implementations of SMTP.

   The reader of this document is expected to have reasonable
   familiarity with the SMTP specification in RFC 5321, particularly the
   discussions of reply codes and their use and theory.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

2.  Motivations

   Hosts on the Internet have shifted from large, general-purpose hosts
   to smaller, more specialized hosts.  An increasing number of hosts
   are dedicated to specific tasks, such as serving NTP or DNS.  These
   dedicated hosts frequently do not provide mail service.

   Usually, these mailless hosts do not run an SMTP server.
   Unfortunately, users will occasionally misaddress mail to these
   hosts.  Regular SMTP clients attempting to deliver this misaddressed
   mail see the absence of an SMTP server on a host only through a
   timeout in trying to make a connection and must treat that state as a
   temporary error.  They must queue the mail for later delivery in case
   the problem was actually temporary of in case an SMTP server is
   started at a later time.

   This causes the mail to remain queued for days, until it is returned
   with what is usually a confusing error message.

3.  Two complementary solutions

   Two complementary solutions MAY be implemented to deal with this
   issue.  The first one is to use MX relays to bounce misaddressed
   mails.  The second one is to implement a minimal SMTP server on the
   mailless host to bounce all mails.

   The choice between the two solutions is site dependent.

4.  The MX relays solution



Klensin                Expires February 10, 2015                [Page 3]

Internet-Draft            SMTP 521 Reply Code                August 2014


   MX relays may be used to indicate SMTP clients that an Internet host
   does not accept mail.

   During the SMTP dialog, these MX relays MAY bounce any message
   destined to this particular host with an SMTP 521 reply code.

   SMTP dialog example:

   
      ---> 220 relay.imag.fr ready
      <--- HELO client.inria.fr
      ---> 250 relay.imag.fr Hello client.inria.fr
      <--- MAIL FROM: <user1@client.inria.fr>
      ---> 250 <user1@client.inria.fr>... Sender Ok
      <--- RCPT TO: <user2@nomail.imag.fr>
      ---> 521 nomail.imag.fr does not accept mail
      <--- QUIT
      ---> 221 relay.imag.fr closing connection

   [[Note in draft: to be acceptable for the standards track at the time
   of posting, the examples above and below will probably have to be
   retooled to use "example.com" or equivalent]]

   If an MX relay of precedence n for a mailless host bounces mails on
   its behalf, then any other MX relay of precedence lower than n for
   this mailless host SHOULD do the same.

5.  The SMTP server solution

5.1.  521 greeting

   A host may indicate that it does not accept mail by sending an
   initial 521 "Host does not accept mail" reply to an incoming SMTP
   connection.  The official name of the server host or its IP address
   MUST be sent as the first word following the reply code.

   For example: 521 canon.inria.fr does not accept mail.

5.2.  SMTP dialog

   After issuing the initial 521 reply, the server host MUST do one of
   the following two options:

   a.  Close the SMTP connection.

   b.  Read commands, issuing 521 replies to all commands except QUIT.
       If the SMTP client does not issue the QUIT command after a
       reasonable time, the SMTP server MUST time out and close the
       connection.  A suggested time-out value is 5 minutes.

   DISCUSSION:



Klensin                Expires February 10, 2015                [Page 4]

Internet-Draft            SMTP 521 Reply Code                August 2014

   When an SMTP server closes the connection immediately after issuing
   the initial 521 reply, some existing SMTP clients treat the condition
   as a transient error and requeue the mail for later delivery.  If the
   SMTP server leaves the connection open, those clients immediately
   SHOULD send the QUIT command and return the mail.

5.3.  MX

   A host which sends a 521 greeting message MUST NOT be listed as an MX
   record for any domain except as specified above.
   [[Note in draft: this seemed a tad contradictory to the text above
   and the instructions below.  --JcK]]

5.4.  Postmaster

   An SMTP server that sends a reply message using a 521 code in
   response to an initial connection is not subject to the postmaster
   requirement of Section 4.5.1 of RFC 5321.

   DISCUSSION:

   Postmaster exists so you can report mail errors.  A host that doesn't
   support mail doesn't need a Postmaster.

6.  SMTP client behavior

   If an SMTP client encounters a host in an MX record that issues a 521
   greeting message, it MUST do one of the following, but the choice is
   left to the implementation:

   a.  Attempt to deliver it to a different MX host for that domain.

   b.  Return the mail with an appropriate non-delivery report.

   If an SMTP client encounters a 521 reply code in any other part of
   the SMTP dialog, it MUST return the mail with an appropriate non-
   delivery report.

7.  Context and other approaches

   This specification, and the 521 code, are intended to address
   situations in which an SMTP connection is attempted to a host that
   does not support SMTP.  An alternate approach is to provide
   information about SMTP non-support in the hope of discouraging such
   connection attempts.  One way to do that using the DNS is specified
   as the "null MX" approach [nullMX].  Even when that approach is used,
   it is desirable to support a server that will return this code if a
   connection is attempted on the SMTP port because client recognition
   of the special DNS records for null MX is not universal.

8.  Security Considerations




Klensin                Expires February 10, 2015                [Page 5]

Internet-Draft            SMTP 521 Reply Code                August 2014


   Not running any SMTP server, or running an SMTP server which simply
   emits fixed strings in response to incoming connection should provide
   significantly fewer opportunities for security problems than running
   a complete SMTP implementation.

9.  Contributors

   Alain Durand and Francis Dupont created RFC 1846, and, because this
   document copied large amounts of text from it, most of the text here.
   They have not been listed as co-authors only before they could not be
   contacted before this specification was posted.

10.  References

10.1.  Normative References

   [1]        Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [2]        Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
              October 2008.

10.2.  Informative References

   [1]        Durand, A. and F. Dupont, "SMTP 521 Reply Code", RFC 1846,
              September 1995.

   [2]        Levine, J. and M. Delany, "A "Null MX" No Service Resource
              Record for Domains that Accept No Mail", August 2014,
              <https://datatracker.ietf.org/doc/draft-ietf-appsawg-
              nullmx/>.

Appendix A.  Change Log

   RFC Editor: Please remove this appendix before publication.

Appendix A.1.  Changes from RFC 1846

   o  Updated boilerplate and editorial material for a standards track
      document.  As part of this, added new Section 1 and Section 7.

   o  Removed "experimental" material

   o  Updated references and improved ties to RFC 5321.

   o  Mentioned the "nullMX" relationship.

Author's Address






Klensin                Expires February 10, 2015                [Page 6]

Internet-Draft            SMTP 521 Reply Code                August 2014


   John C Klensin, editor
   1770 Massachusetts Ave, Ste 322
   Cambridge, MA 02140
   USA
   
   Phone: +1 617 245 1457
   Email: john-ietf@jck.com














































Klensin                Expires February 10, 2015                [Page 7]