0

This question might look basic, but I was wondering that let's say for email routing there’s a use of MX record which points to FQDN of Mail server and that points to A record. What is reason to have MX record when eventually, we are resolving FQDN and getting A record for information, I mean why can't instead of fetching MX record of Domain, it fetches A record of the domain and sent an email.

Thanks for Help in advance :)

3

There's nothing stopping you from relying soley on 'A' records for email delivery.
Suppose you have example.net with no published 'MX' record, but you have an 'A' record for server.example.net. If someones sends an email to user1@server.example.net, as long as server1 has a configured SMTP server, and user1 exists, the email should be delivered. MX records however, enable you to distribute load across several servers and have a fallback option.

In fact, I think the use of SMTP actually predates the use of DNS. RFC 821 which describes SMTP, was published in 1982. RFC 883 which describes DNS was not published until a year later, in November of 1983 and was not implemented until 1984. Until then the standard mechanism for name resolution was HOSTS.TXT which has no facility to distinguish resource record types, and was only a table of ip address to hostname mappings, it is what we know today as /etc/hosts for more information see https://en.wikipedia.org/wiki/MX_record

2
  • Yeah I setup a lot of email servers in the 1990's and none had an MX record. I'm sure they have an MX record now though. – Greg Askew Jan 30 at 16:41
  • 1
    Way back then, and even into the 1990s, you did indeed address mail to users at specific machines (and occasionally not hear back because they don't log in to that machine for months at a time). The MX record and domain-addressed mail alleviated this problem, for the most part, though of course even today you can still send mail to a specific machine. – Michael Hampton Jan 30 at 18:07
3

The fundamental reason is that you may want to use the same domain name in different ways for different services. Ie, the domain part of an email address may also be used for something else than just incoming email.

Eg with foo@example.com, you may want to have address records (A/AAAA) for example.com that are used for something else than the SMTP server. Maybe a web server, maybe something else, it doesn't really matter what exactly.
That said, if no MX is present, then the standard is to fall back to looking up address records and using those also for email delivery.

Sidenote, if this was all designed today, MX would actually be redundant as SRV was later introduced as essentially a generic form of MX that can work for any service.
With SRV you specify which service type should be mapped to which host, rather than having a dedicated record type for one particular type of service like with MX.
Additionally, http client such as web browsers would presumably also use SRV instead of just looking up address records if SRV had just been around earlier, which would actually be quite nice. But that is not what we have, and so far no change is happening in that regard.

2

Because that is the standard. Period. You can do whatever you want - but millions of other players have agreed on that being the standard and use that. At the end that is what it boils down to - not everything in DNS makes sense these days, but the standard has grown over time.

Also note that the MX entry has additional info that an IN A record does not have - so there is a functional difference if you have multiple email servers and want to give a priority. Multiple IN A records do not allow prioritization.

But ultimately, the "why" answer is "because that is the standard as it was decided a long time ago".

2
  • Thanks for the clarification, I was wondering same but wanted to know that is this thing define in any RFC or not like you said it is an standard. I did tried to check but no such concrete information – user614997 Jan 30 at 13:46
  • And you lack the capacity to type "mx record rfc" into google? I get pointed to RFC 974 as earliest. – TomTom Jan 30 at 13:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.