<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC1034 SYSTEM "bibxml/reference.RFC.1034.xml">
<!ENTITY RFC1035 SYSTEM "bibxml/reference.RFC.1035.xml">
<!ENTITY RFC4408 SYSTEM "bibxml/reference.RFC.4408.xml">
<!ENTITY RFC5321 SYSTEM "bibxml/reference.RFC.5321.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-delany-nullmx-02" 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="January" year="2014" />

    <area>Applications</area>

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

    <abstract>
       <t>
	  When the 5321.MailFrom domain in an e-mail message
	  has a DNS MX Resource Record (RR), it is
	  making an explicit statement that it is willing to accept
	  email. However, when the domain has just a DNS A or AAAA RR, there
	  mail clients cannot easily tell whether the domain accepts mail,
	  as many hosts on the Internet advertise an A or AAAA RR
	  regardless of whether they want to accept email.
       </t>
       <t>
	  The NULL MX RR formalizes the existing mechanism by which a domain
	  announces that it accepts no mail.
       </t>
    </abstract>
  </front>
  <middle>
     <section title="Introduction">
	<t>
	   This document formally defines the "NULL MX" as a simple mechanism by
	   which a domain can indicate that it will never accept email.
	</t><t>
	   SMTP clients have a prescribed sequence for resolving how to deliver
	   email to 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.
	</t><t>
	   Many domains do not accept email, but do have A or AAAA records. If
	   they have no MX records, senders will attempt to deliver mail to
	   those A or AAAA records.
	</t><t>
	   If there is no SMTP listener at that address, the message 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>  
	   If the domain has an SMTP listener at that address that rejects all
	   connections (for instance with a 554 response as a connection-opening
	   response) or has MX records pointing to such a listener then the
	   sender will be notified in a timely fashion, but resources (generating
	   a bounce) will still be consumed by the sender and it requires
	   additional services to be provided which provide little benefit to the domain.
	</t><t>
	   These resource usage problems are exacerbated when large volumes of
	   email are sent using forged email addresses in a domain which 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 sender 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 any reconfiguration of existing MTAs.
	</t>
     </section>
     <section title="SMTP server benefits">
	<t>
	   Being able to detect domains that never accept email offers many
	   resource savings to an SMTP server. In the first instance, it can
	   choose to reject email during the SMTP conversation that does not
	   present a deliverable 5321.MailFrom domain.
	</t><t>
	   In the second instance, if an SMTP server accepts an email, it can be
	   confident that an attempt to send a non-delivery email will likely be
	   answered by another SMTP server. This greatly helps to reduce
	   non-delivery queues. This contrasts greatly with the current situation
	   where a non-delivery email for, e.g., www.example.net, will sit in the
	   queue for a full queue lifetime as SMTP connection attempts to
	   www.example.net simply time out.
	</t>
     </section>
     <section title="Parallel Considerations">
	<t>
	   Clearly the perpetrators of abusive mail can adapt such that the "vast
	   class of email" that this mechanism helps identify, simply move over
	   to using 5321.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@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 never accepts email, it advertises a
	   single MX RR with a RDATA section consisting of
	   preference number 0, and a dot, i.e., the DNS root,
	   as the mail exchanger 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. If a domain advertises multiple MX RRs including a
	   NULL MX, the interpretation is as described in RFC5321.
	</t>
     </section>
     <section title="Domains that do not send mail">
	<t>
	   An SMTP server when presented with an "I never accept
	   email" MX might decline to accept such email as it knows that a
	   response or non-delivery notice will never be accepted,
	   and that 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.
	</t><t>
	   Although NULL MX may imply that a domain sends no mail, it does not
	   sat so explicitly.
	   Operators may want to publish <xref target="RFC4408">SPF</xref> -ALL
	   policies to make an explicit statement.
	</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
	   proposal is about eliminating one small section of SMTP insecurity.
	</t><t>
	   In the unlikely event that a domain legitimately sends
	   email but never wants to receive email, SMTP servers that reject mail
	   from domains that advertise a NULL MX risk losing email from those
	   domains.
	   Note that the normal way to send mail for which a sender wants no responses
	   remains unchanged, by using an empty 5321.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">
       &RFC1034;
       &RFC1035;
       &RFC5321;
    </references>
    <references title="Inforrmative References">
       &RFC4408;
    </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 from -01 to -02">
	   <t>Note that SPF -ALL is how you say you send no mail.
	   </t>
	</section>
     </section>

  </back>
</rfc>
