<?xml version="1.0" encoding="US-ASCII"?>

<!-- 01: 20091113.  added comment about security considerations
   -->
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced.
     An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">

<!ENTITY RFC0821 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.0821.xml">
<!ENTITY RFC1869 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1869.xml">
<!ENTITY RFC2821 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2821.xml">
<!ENTITY RFC5321 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5321.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->

<rfc category="info"
      docName="draft-ietf-yam-5321bis-smtp-pre-evaluation-04"
     ipr="trust200902" category="info"> 
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN"
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the
         full title is longer than 39 characters -->

    <title abbrev="YAM 5321bis Evaluation">Preliminary Evaluation of
        RFC5321, Simple Mail Transfer Protocol (SMTP),
        for advancement from Draft Standard to Full Standard
        by the YAM Working Group
    </title>

    <author fullname="John C Klensin" initials="J.C." surname="Klensin">
      <organization/>
      <address>
        <postal>
          <street>1770 Massachusetts Ave, Ste 322</street>
          <city>Cambridge</city> <region>MA</region>
          <code>02140</code>
          <country>USA</country>
        </postal>
        <phone>+1 617 245 1457</phone>
        <email>john+ietf@jck.com</email>
      </address>
    </author>
    <author initials='B.' surname="Leiba" fullname='Barry Leiba'>
      <organization>Huawei Technologies</organization>
      <address>
        <phone>+1 646 827 0648</phone>
        <email>barryleiba@computer.org</email>
        <uri>http://internetmessagingtechnology.org/</uri>
      </address>
    </author>
    
    <date year="2010" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill
         in the current day for you. If only the current year is specified, xml2rfc will fill
     in the current day and month for you. If the year is not the current one, it is
     necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
     purpose of calculating the expiry date).  With drafts it is normally sufficient to
     specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>Applications</area>

    <workgroup>YAM Working Group</workgroup>

    <keyword>SMTP</keyword>
    <keyword>RFC 2821ter</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>
        This memo is a preliminary evaluation of RFC 5321,
        Simple Mail Transfer Protocol 
        for advancement from Draft to Full Standard.
        It has been prepared by the The Yet Another Mail Working Group.
      </t>
      <t>
        THIS INTERNET DRAFT IS NOT MEANT TO BE PUBLISHED AS AN RFC,
        BUT IS WRITTEN TO FACILITATE DISCUSSION WITH THE IESG.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>A preliminary evaluation has been made of
        <xref target='RFC5321'>Simple Mail Tranfer Protocol</xref>
        by the Yet Another Mail (YAM) Working Group for advancing
        it from Draft to Full Standard.
        The YAM WG requests feedback from the IESG on this decision.
      </t>
      <section title="Note to RFC Editor">
        <t>
          This Internet-Draft is not meant to be published as an RFC.
          It is written to facilitate processing within the IESG.
        </t>
      </section>
    </section>

    <section title="Preliminary Evaluation">
      <section title="Document">
        <t>
          <list style="hanging">
            <t hangText="Title: ">Simple Mail Transfer Protocol</t>
            <t hangText="Link:  ">http://tools.ietf.org/html/rfc5321</t>
          </list>
        </t>
      </section>

      <section title="Time in Place">
        <t>
          <list style="hanging">
            <t hangText="RFC2026: ">
              <spanx style="emph">
                "A specification shall remain at the
                Draft Standard level for at least four (4) months,
                or until at least one IETF meeting has occurred."
              </spanx>
            </t>
            <t hangText="Published:  ">October 2008</t>
          </list>
        </t>
      </section>

      <section title="Implementation and Operational Experience">
        <t>
          <list style="hanging">
            <t hangText="RFC2026: ">
              <spanx style="emph">
                "significant implementation and
                successful operational experience ... characterized by
                a high degree of technical maturity and by a generally
                held belief that the specified protocol or service
                provides significant benefit to the Internet
                community."
              </spanx>
            </t>
            <t hangText="Confidence level:">
              Very high.
            </t>
          </list>
        </t>
    
        <t>
          Electronic mail (historically known as "netmail" before "email"
          came into common use) has been in active use in the Internet
          community since the early 1970s.
          Although many small adjustments
          and clarifications have been made, the basic transport protocol
          that is now used has been changed in only two important ways since
          the publication of RFC 821 in August 1982.
          One of those changes
          was the introduction of DNS-based mail routing with the MX record
          with RFC 974 in January 1986 (with some small clarifications in
          RFC 1123 in October 1979).
          The second was the introduction of a model for negotiating optional
          services with RFC 1425 in February 1993.
        </t>
        <t>
          While many mail systems over the years have relied more on the
          robustness of receiving systems in the face of deviations (or
          creative interpretations of RFC 821 language in spite of changes
          and clarifications over the last 27 years), the DRUMS WG work that
          produced <xref target="RFC2821">RFC 2821</xref> in April 2001 was
          largely an update to clarify various provisions.
          With the exception of a very few edge-case clarifications and changes in
          requirements levels, systems that conform to the combination of
          <xref target="RFC0821">RFC 821</xref> and
          <xref target="RFC1869">RFC 1869</xref> (both Full Standards)
          conform to RFCs 2821 (April 2001) and 5321.
          Those differences represented existing practice when RFC 5321 was
          written and have been well-tested and widely deployed.
        </t>
      </section>

      <section title="Proposed Changes">
        <t>
          The YAM WG proposes making the changes listed below in a revision.
          That the working group will review or consider an
          issue means that when RFC 5321bis is submitted for IESG approval,
          either changes will have be made for that issue or the working group
          will provide the IESG a summary of why it decided not to.
        </t>
        <t>
          <list style="hanging">
            <t hangText="Terminology:">
              There has been ongoing controversy about the
              terminology in RFC 5321 and especially changes made between 821
              and 2821 or between 2821 and 5321.
              While we assume that 5321 is adequate, the WG will review
              terminology as appropriate and may make some adjustments.
            </t>
            <t hangText="Metalanguage:">
              During and after IETF Last Call on 5321, some suggestions were made
              about how to make metalanguage productions easier to find and
              connect.
              A complete rewrite or restructuring of the metalanguage
              should be avoided on the grounds that it would carry a very high
              risk of introducing errors.
              Instead, resources and tools
              permitting (significant manual work is now required), the revised
              document will contain an index to productions and where they are
              defined.
            </t>
            <t hangText="Normative References:">
              RFC 5321 is worded in a way that makes some references
              normative that are not strictly required to be.
              The WG will consider whether those rewordings are
              appropriate.  In particular, the reference to RFC 821 will
              be moved to Informative because all normative uses have been
              removed.
            </t>
            <t hangText="Existing Errata Reports:">
              The working group will incorporate corrections to accepted errata,
              as shown in the RFC Editor's errata tool.
              Errata ID 1683 is currently the only such item.  IDs 1543 and 1851 are
              reported, but unverified; the working group will consider those.
              See <xref target="issues" /> for details.
            </t>
            <t hangText="Small Editorial Errors:">
              Clear up various small editorial errors, e.g., the use of
              "SHOULD not" in one location.
              YAM issue tracker issues 5, 6, 9, 12, and 13 refer to issues of this sort.
              The working group will add others that may be identified in its detailed review.
              See <xref target="issues" /> for details.
            </t>
            <t hangText="Clarifications:">
              The working group will attempt to address things that have ben identified as
              unclear in RFC 5321.
              YAM issue tracker issues 7, 8, 10, and 11 refer to issues of this sort.
              There has been discussion of these on the mailing list, and the resolutions
              of each may or may not result in a change in the document.
              See <xref target="issues" /> for details.
              In no case will
              clarification changes be significant enough to violate "Non-Changes",
              <xref target="NoChange"/>.
            </t>
          </list>
        </t>
      </section>
      
      <section title="Non-Changes" anchor="NoChange">
        <t>
          The YAM WG discussed and chose not to make the following changes:
        </t>
        <t>
          <list style="numbers">
            <t>
              Complete revision, rearrangement, or reformatting of
              metalanguage (see #2 above).
            </t>
            <t>
              Any extensions that would violate the
              rules for Full Standard or otherwise require revisiting the
              approved interoperability report for RFC 5321.
            </t>
            <t>
              A number of extensions and changes that would have imposed
              significant new requirements on SMTP, or that would have implied
              incompatible changes, were proposed both during the DRUMS WG
              period (leading up to RFC 2821) and during the subsequent
              discussions that led to RFC 5321.
              In each case, the authors were advised to prepare a specific
              Internet-Draft describing the change, convince the community to
              progress it to Proposed Standard, and then implement and deploy
              the change quickly enough to "catch up" with the progress that
              started with RFC 2821.
              The notion was that those changes could
              then be integrated with the progression at the same maturity
              level.
              It is important to note that, independent of any
              constraints imposed by the YAM charter design, none of those
              proposals have appeared and been progressed even to IETF Last
              Call.
            </t>
            <t> 
              As agreed when RFC 5321 was reviewed, the examples will
              not be revised to bring them into alignment with RFC 2606
              (BCP 32) conventions (example.com, etc.).  The issues are
              explained in Section 1.3 of RFC 5321.  The community also
              noted at the time that the relevant examples have been in
              use, substantially unchanged, for more than a
              quarter-century with no serious claims of confusion or
              other harm being caused.
            </t>
            <t>
              The Security Considerations section was extensively
              reviewed in 2008 (during the review and approval of RFC
              5321).  No evidence has appeared since then that would
              require further review or additional changes.
            </t>
          </list>
        </t>
      </section>

      <section title="Downward references">
        <t>
          At Full Standard, the following references
          would be downward references:
        </t>
        <t>
          <list style="hanging">
            <t>
              RFC 5322 if 5322bis is not progressed simultaneously
              with 5321bis.
              (This is not expected to happen.)
            </t>
            <t>
              RFC 4291, IP Version 6 Addressing Architecture.
            </t>
            <t>
              RFC 3848, ESMTP and LMTP Transmission Types
              Registration.
              Note that it is possible to rephrase
              RFC 5321bis to avoid this normative reference and
              the WG will consider doing that.
            </t>
          </list>
        </t>
      </section>

      <section title="IESG Feedback">
        <t>
          The YAM WG requests feedback from the IESG on this decision.
          In particular:
        </t>
        <t>
          <list style="symbols">
            <t>
              Does the IESG believe the proposed changes are suitable during a
              move from Draft to Full Standard?
            </t>
            <t>
              Excluding the previous proposed changes and expected IESG
              support for technically substantive IETF last call feedback,
              does the IESG believe any additional changes are critical to
              advance this document from draft to full standard?
              If so, please provide sufficient information so the WG can address
              these issues prior to IETF last call or determine that the document
              is inappropriate for the YAM WG to process at this time.
            </t>
            <t>
              Does the IESG consider the downward references acceptable
              for a full standard?
              If not, please cite which specific
              downward reference or references are problematic and why
              so the WG can address these issues prior to IETF last call
              or determine the document is inappropriate for the YAM WG
              to process at this time.
            </t>
          </list>
        </t>
      </section>
    </section>

    <section title="IANA Considerations">
      <t>This document contains no IANA actions.</t>
    </section>

    <section title="Security Considerations">
      <t>
        This document requests IESG feedback and does not raise any security
        concerns.  Security considerations for RFC 5321 have been taken into
        account during the preliminary evaluation and appear in either
        Section 2.4 or Section 2.5 of this document.
      </t>
    </section>

    <section title="Acknowledgments">
      <t>
        This document was prepared from a template supplied by Subramanian Moonesamy.
      </t>
      <t>
        Some of the information provided in this document, but not provided in the
        RFC 1652 evaluation
        (http://www.ietf.org/id/draft-ietf-yam-rfc1652bis-pre-evaluation-00.txt),
        was inspired by brief discussions with Pasi Eronen and Subramanian Moonesamy
        during IETF 76.
      </t>
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      &RFC5321;
    </references>
    <references title="Informative References">
      &RFC0821;
      &RFC1869;
      &RFC2821;
    </references>

    <section title="Change Log" anchor="ChangeLog">
      <section title="Changes from version -01 to -02">
        <t>
          <list style="symbols">
            <t>
              Added classes of changes for "errata" and "clarifications".
            </t>
            <t>
              Included YAM issue tracker numbers in the lists of possible changes.
            </t>
          </list>
        </t>
      </section>
      <section title="Changes from version -00 to -01">
        <t>
          <list style="symbols">
            <t>
              Added Security Considerations and Examples to the "no
              change" list 
              in <xref target="NoChange"/>.
            </t>
            <t>
              Identified RFC 821 as a specific reference to be moved
              from Normative to Informative.
            </t>
            <t>
              Add blanket placeholder for changes due to small
              editorial errors.
            </t>
          </list>
        </t>
      </section>
    </section>
    
    <section title="Detailed Issues List" anchor="issues">
      <t>
        What follows are abbreviated details of the errata and tracker issues
        at the time of this writing, along with URLs to the actual entries.
        They are provided here to make it easier for IESG members -- and others -- to review
        them.  If your browser does not automatically turn URLs into clickable links,
        copy/paste should still be convenient.
      </t>
      <t>
        <list style="hanging">
          <t hangText="Errata ID 1543:">In section 3.8, 
            client should treat a closed connection as a 451 response, not as 421 (current).
            <vspace />
            http://www.rfc-editor.org/errata_search.php?rfc=5321
            <vspace />
            The working group will consider this item.  Discussion so far leans toward not
            making the change.
          </t>
          <t hangText="Errata ID 1683:">In section 4.4,
            missing repeat in grammar for Additional-Registered-Clauses.
            <vspace />
            http://www.rfc-editor.org/errata_search.php?rfc=5321
            <vspace />
            This item has been accepted, and the working group will make a change for it.
          </t>
          <t hangText="Errata ID 1851:">In section 4.1.1.5,
            text specifying server behaviour on a closed connection is misplaced, and should
            be in section 4.1.1.10 or section 3.8.
            <vspace />
            http://www.rfc-editor.org/errata_search.php?rfc=5321
            <vspace />
            The working group will consider this item.
          </t>
          <t hangText="Tracker Issue 5:">In section 6.1,
            reword "next subsection" to specify the section number, for clarity.
            <vspace />
            http://trac.tools.ietf.org/wg/yam/trac/ticket/5
            <vspace />
            This item suggests an editorial change, and the working group will consider it.
          </t>
          <t hangText="Tracker Issue 6:">In section 4.4,
            there is extraneous text that should be removed or corrected (probably a paste error).
            <vspace />
            http://trac.tools.ietf.org/wg/yam/trac/ticket/6
            <vspace />
            This item documents an editorial error, and the working group will make
            a change for it.
          </t>
          <t hangText="Tracker Issue 7:">In section 2.2.2,
            add a bullet saying "Future SMTP extensions SHOULD explicitly specify if
            they are valid on the Submission port."
            <vspace />
            http://trac.tools.ietf.org/wg/yam/trac/ticket/7
            <vspace />
            The working group will consider this item.
          </t>
          <t hangText="Tracker Issue 8:">In section 4.1.1.3,
            remove text about source routes and move text about failed recipients here.
            <vspace />
            http://trac.tools.ietf.org/wg/yam/trac/ticket/8
            <vspace />
            The working group will consider this item.
          </t>
          <t hangText="Tracker Issue 9:">In section 3.9.2,
            there is extraneous text that should be removed or corrected (probably a paste error).            
            <vspace />
            http://trac.tools.ietf.org/wg/yam/trac/ticket/9
            <vspace />
            This item documents an editorial error, and the working group will make
            a change for it.
          </t>
          <t hangText="Tracker Issue 10:">In section 3.9,
            add a subsection for "Backup MX" or "Plain forwarding".
            <vspace />
            http://trac.tools.ietf.org/wg/yam/trac/ticket/10
            <vspace />
            The working group will consider this item.
          </t>
          <t hangText="Tracker Issue 11:">In section 3.1,
            a server can offer two greeting codes to a new connection: 220 or 554.
            Clarify the semantics of the 554 code.
            <vspace />
            http://trac.tools.ietf.org/wg/yam/trac/ticket/11
            <vspace />
            The working group will consider this item.
          </t>
          <t hangText="Tracker Issue 12:">In examples,
            explicitly state that the examples will not be changed to use RFC 2606
            domain names (such as example.com).
            <vspace />
            http://trac.tools.ietf.org/wg/yam/trac/ticket/12
            <vspace />
            This item suggests an editorial change, and the working group will consider it.
          </t>
          <t hangText="Tracker Issue 13:">In section 4.2.5,
            "SHOULD not" appears, with lowercase "not".  The "NOT" should be in uppercase.
            <vspace />
            http://trac.tools.ietf.org/wg/yam/trac/ticket/13
            <vspace />
            This item documents an editorial error, and the working group will make
            a change for it.
          </t>
        </list>
      </t>
    </section>
  </back>
</rfc>
