Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why have MX records? [closed]

I previously asked a question regarding MX records (and appreciate the thoughtful answers I received from SO'ers). Now that that problem is resolved, I want to step back and ask why there are MX records in the first place.

Specifically: Why does SMTP get special treatment by DNS?

We don't have HX records for HTTP or FX records for FTP. It seems like every other Internet protocol gets along just fine with DNS' A record. Indeed, the Wikipedia article on MX records states that the current SMTP spec says that if an MX record does not exist for a receiver, the server should fall back on an A record. It also mentions some accommodations SMTP made in a pre-DNS world, but that was 25 years ago. Do we really need MX records any more?

like image 327
Jim Nelson Avatar asked Dec 21 '08 23:12

Jim Nelson


People also ask

What does no MX record found mean?

The primary reason a domain might be lacking MX records is that the domain simply doesn't exist. In our example above, the domain was mistyped as yahoo. comm rather than yahoo.com at some point during the email registration process for this recipient; this is part of why a double opt-in policy is so important.

What happens if I delete MX records?

Removing Netregistry's MX records from zone manager Warning: When disabling email, all associated email accounts will be deleted and any emails stored on our servers will be erased. Ensure that any important emails have been backed up. Contact Netregistry support for further information or assistance.

How long before MX records are updated?

It can take up to 72 hours for the new records to update through the system. During this time, mail sent to your domain might bounce.


1 Answers

MX records were used because there was a need for SMTP traffic to user@domain to be routed differently to other traffic for that domain, and SRV records hadn't been invented yet.

The modern convention that you can type http://example.com/ in your browser without a www prefix and still get to the required website is actually a bit odd. To explain in more detail, consider how a zone would normally be setup to achieve this prefix-less access:

$ORIGIN example.com
@        IN A   192.168.1.1
         IN MX mail.example.com
www      IN A  192.168.1.1
mail     IN A  192.168.1.2

So, any traffic addressed to example.com goes to that IP address, regardless of the protocol in use (unless it's e-mail which will use the MX record).

In practise it would be preferable for all applications to make use of SRV records, and then we could do away with the application specific prefixes all together, and use A records for their real purpose - specifically mapping real hostnames to IP addresses.

If SRV records were used in this way that zone file would look instead like:

$ORIGIN example.com
_http._tcp IN SRV 0 0 80 www.example.com
_smtp._tcp IN SRV 0 0 25 mail.example.com
www        IN A 192.168.1.1
mail       IN A 192.168.1.2

This assumption that the primary A record at a domain is actually for HTTP service is also part of the reason why Verisign's SiteFinder "service" caused as many problems as it did when it was (briefly) introduced in 2003. By intercepting all DNS A record lookups for unknown domains and returning one of their own addresses, Verisign broke all sorts of protocols that assumed that they could fail-over to other address database mechanisms if the DNS lookup failed.

like image 64
Alnitak Avatar answered Oct 22 '22 04:10

Alnitak