UNIX hosts and MX "best practice"

Jim Reid jim at rfc1035.com
Sat Jan 29 00:45:28 UTC 2000


>>>>> "Barry" == Barry Margolin <barmar at bbnplanet.com> writes:

    >> I've observed that it falls back to the A record if you don't
    >> bother specifying it, but it makes "nslookup" MX queries look
    >> "different" than I am used to, and I was just wondering what
    >> current "best practice" is.

    Barry> Falling back to the A record is required, since the purpose
    Barry> of MX is to specify an alternate place to send mail instead
    Barry> of sending it to the host itself.  However, there are
    Barry> performance implications if you don't have an MX record.

The overhead of the extra lookup for the A record after a failed MX
lookup shouldn't be a big deal. It's ugly and unnecessary, but name
servers put up with ugly and unnecessary queries all the time. Just
take a look at a typical name server's query logs... :-(

A bigger issue is the impact on the mail delivery and queues when mail
is sent to hostnames that don't have MX records. Suppose that mail is
sent to user at foo.example.com and there's no MX for foo.example.com.
The A record is looked up and the mail system will try to connect to
port 25 on foo.example.com and speak SMTP. If foo.example.com doesn't
have an SMTP listener, that connection will not succeed. The mail will
get queued and sendmail (or whatever) will keep trying to deliver it
for a few days or so before giving up. The mail system can't tell the
difference between a remote system that's temporarily switched off its
SMTP listener and one that *never* has such a thing. So the mail
system's queues get cluttered with undeliverable mail and the
postmaster gets a headache. Meanwhile the user is unhappy because
their mail hasn't been received. Maybe the user was wrong to send mail
to foo.example.com when it didn't have an SMTP listener. But if this
host had an MX record, its mail could be delivered somewhere, even if
it was only to some mail system that bounced the message because the
email address was wrong.



More information about the bind-users mailing list