<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC1035 SYSTEM "bibxml/reference.RFC.1035.xml">
<!ENTITY RFC2119 SYSTEM "bibxml/reference.RFC.2119.xml">
<!ENTITY RFC7208 SYSTEM "bibxml/reference.RFC.7208.xml">
<!ENTITY RFC5321 SYSTEM "bibxml/reference.RFC.5321.xml">
<!ENTITY RFC3463 SYSTEM "bibxml/reference.RFC.3463.xml">
<!ENTITY RFC5598 SYSTEM "bibxml/reference.RFC.5598.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc toc="yes" ?>
<?rfc tocindent="yes" ?>
<?rfc tocdepth="2" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>

<rfc category="std" docName="draft-ietf-appsawg-nullmx-03" ipr="trust200902">
  <front>
    <title abbrev="NULL MX">A NULL MX Resource Record for Domains that Accept No Mail</title>

    <author fullname="John Levine" initials="J." surname="Levine">
      <organization>Taughannock Networks</organization>

      <address>
        <postal>
          <street>PO Box 727</street>
          <city>Trumansburg</city>
          <code>14886</code>
          <region>NY</region>
        </postal>
        <phone>+1 831 480 2300</phone>
        <email>standards@taugh.com</email>
        <uri>http://jl.ly</uri>
      </address>
    </author>

    <author fullname="Mark Delany" initials="M." surname="Delany">
      <organization>Apple Inc.</organization>

      <address>
        <postal>
          <street>1 Infinite Loop</street>
          <city>Cupertino</city>
          <code>95014</code>
          <region>CA</region>
        </postal>
        <email>mx0dot@yahoo.com</email>
      </address>
    </author>

    <date month="June" year="2014" />

    <area>Applications</area>

    <keyword>DNS</keyword>
    <keyword>e-mail</keyword>

    <abstract>
       <t>
     Internet mail determines the address of a receiving server through the DNS, first by looking for
an MX record and then by looking for an A/AAAA record as a fallback.
Unfortunately this means that the A/AAAA record is taken to be mail server address even when that
address does not accept mail.
  The NULL MX RR formalizes the existing mechanism by which a domain
  announces that it accepts no mail, which permits
significant operational efficiencies.
       </t>
    </abstract>
  </front>
  <middle>
<section anchor="Conventions" title="Conventions Used in This Document" toc ="exclude">

<t>
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 <xref target="RFC2119"/>.
</t>

</section>
     <section title="Introduction">
	<t>
	   This document formally defines the "NULL MX" as a simple mechanism by
	   which a domain can indicate that it does not accept email.
	</t><t>
	   SMTP clients have a prescribed sequence for identifying a server that
	   accepts email for a domain. Section 5 of <xref target="RFC5321" /> covers this in
	   detail, but in essence the SMTP client first looks up a DNS MX RR and
	   if that is not found it falls back to looking up a DNS A or AAAA RR.
	   Hence this overloads an email service semantic onto a DNS record with a different primary mission.
	</t><t>
	   If a domain has no MX records, senders will attempt to deliver mail to
	   the hosts at the domain's A or AAAA record's addresses. However
	   many domains do not accept email.
	</t><t>
	   If there is no SMTP listener at the A/AAAA address, message delivery will be
	   attempted repeatedly for a long period, typically a week,
	   before the sending MTA gives up. This will delay notification to the sender in the case of
	   misdirected mail, and will consume resources at the sender.
	</t><t>  
	   An operator could set up an SMTP listener at that address that rejects all
	   connections (for instance with a 554 reply code as a connection-opening
	   response) or have an MX record pointing to such a listener, to
	   notify senders in a timely fashion.
	   But resources (generating
	   a bounce) will still be consumed by the sender and it requires
	   additional services that offer little benefit to the domain.
	</t><t>
	   These resource usage problems are exacerbated when large volumes of
	   email are sent using forged email addresses from a domain that does
	   not accept email as its envelope sender, causing large numbers of
	   bounces to be generated and to consume large amounts of resources
	   at the senders of the bounces.
	</t><t>
	   This document defines a NULL MX that will
	   cause all mail delivery attempts to a domain to fail immediately,
	   without requiring domains to create SMTP
	   listeners dedicated to preventing delivery attempts.
	</t>
     </section>
     <section title="SMTP Server Benefits">
	<t>
	   The ability to detect domains that do not accept email offers many
	   resource savings to an SMTP server. It can
	   choose to reject email during the SMTP conversation that
	   presents an undeliverable RFC5321.MailFrom domain.
	   A sending server will discover on the first sending attempt that an address
	   is not deliverable, avoiding queuing and retries.
	</t><t>
	   Also, if an SMTP server accepts a message, it can be
	   more confident that an attempt to send a Delivery Status Notification or other response will
	   reach a recipient SMTP server.
	</t>
     </section>
     <section title="Parallel Considerations">
	<t>
	   Senders of abusive email often use return addresses with domain names that do not accept mail.
	   These senders typically adapt quickly, and would move over
	   to using RFC5321.MailFrom domains that have valid MX RRs.
	</t><t>
	   While this is true, the direct benefits to the SMTP server still
	   apply. When an SMTP server queues a non-delivery email, the target
	   domain will accept the email or give a definitive rejection so the queue
	   entry will be removed promptly, thus keeping the queues short.
	</t><t>
	   There is also a fair amount of mail that is just misaddressed by people
	   who mistranscribed or misunderstood an e-mail address, for example,
	   alice@www.example.com or alice@example.org or alice@examp1e.com
	   rather than alice@example.com.
	   NULL MX allows a mail system to report the delivery failure when 
	   the user sends the message, rather than hours or days later.
	</t>
     </section>
     <section title="The NULL MX Resource Record">
	<t>
	   To indicate that a domain does not accept email, it advertises a
	   single MX RR (see <xref target="RFC1035" />, section 3.3.9)
	   with an RDATA section consisting of
	   preference number 0, and a dot, i.e., the DNS root,
	   as the exchange domain, to denote that there exists no mail exchanger for a
	   domain.
	   (The DNS root is not a valid host name, which avoids any possibility that a NULL MX
	   record could be confused with an ordinary MX record.)
	</t><t>
	   The interpretation of a NULL MX RR only applies when the domain has a
	   single MX RR. A domain SHOULD NOT advertise multiple MX RRs including a
	   NULL MX, but if it does, the interpretation is as described in
	   <xref target="RFC5321" />.
	</t>
     </section>
     <section title="Domains that Do Not Send Mail">
	<t>
	   The operator of an SMTP server might prefer to reject
	   mail sent from domains that publish NULL MX,
	   since a response or non-delivery notice will not be accepted,
	   and legitimate mail rarely
	   comes from domains that do not accept replies.
	</t><t>
	   SMTP servers that reject mail because a MAIL FROM domain has a
	   NULL MX record SHOULD use a 550 reply code and a
	   <xref target="RFC3463">5.1.2 enhanced status code</xref>.
	</t><t>
	   A domain that does not accept mail, as declared by NULL MX,
	   often will also not send mail.  Operators
	   can publish <xref target="RFC7208">SPF</xref> -all
	   policies to make an explicit declaration that the domain is not valid in
	   the RFC5321.MailFrom command.
	</t>
     </section>
     <section title="Security Considerations">
	<t>
	   SMTP mail is inherently insecure in that it is feasible for even
	   fairly casual users to negotiate directly with SMTP servers. This
	   specification is about eliminating one small section of SMTP insecurity.
	</t><t>
	   In the unlikely event that a domain legitimately sends
	   email but does not want to receive email, SMTP servers that reject mail
	   from domains that advertise a NULL MX risk losing email from those
	   domains.
	   The normal way to send mail for which a sender wants no responses
	   remains unchanged, by using an empty RFC5321.MailFrom address.
	</t>
	<t>
	   Within the DNS, a NULL MX RR is an ordinary MX record and presents no
	   new security issues.
	</t>
     </section>
  </middle>

  <back>
    <references title="Normative References">
       &RFC1035;
       &RFC2119;
       &RFC3463;
       &RFC5321;
    </references>
    <references title="Inforrmative References">
       &RFC5598;
       &RFC7208;
    </references>
    <section title="Change Log">
       <t><spanx style="strong">NOTE TO RFC EDITOR: This section may be removed
	   upon publication of this document as an RFC.</spanx></t>
	
	<section title="Change to appsawg-nullmx-03">
	   <t>Editorial nits per Murray.</t>
	</section>
	<section title="Change to appsawg-nullmx-02">
	   <t>Should not publish NULL MX with other MX.</t>
	   <t>Never say never.</t>
	   <t>Add 5.1.2 enhanced status code.</t>
	   <t>Minor editorial changes.</t>
	</section>
	<section title="Change to appsawg-nullmx-1">
	   <t>Editorial improvements per D. Crocker's review.</t>
	</section>
	<section title="Change to appsawg-nullmx-0">
	   <t>Fix typos.</t>
	</section>
     </section>

  </back>
</rfc>
