|This is the talk page for discussing improvements to the MX record article.|
|WikiProject Computing||(Rated C-class, Mid-importance)|
|WikiProject Internet||(Rated C-class, Mid-importance)|
- 1 CNAME as value of MX record
- 2 Removed a redundant section
- 3 distance
- 4 location for MX records
- 5 external link to harvesting site
- 6 maximum priority value
- 7 IN A versus IN CNAME
- 8 equal weight MX records
- 9 spam?
- 10 DNS Query
- 11 weighting value
- 12 Why is the author assuming the reader already knows the subject???
- 13 Reference to support a half-truth
- 14 Nolisting (proposed merge)
- 15 Overview
- 16 Meaning of destination in RFC
CNAME as value of MX record
The RFCs are hopelessly vague on this subject. This is my attempt at clarifying the discussion. RFC 2321 (1997) defines that MX records must not point to CNAMEs. The RFC predates the more formal MUST, MAY, etc terminology. The reason given is basically efficiency reasons.
The latest RFC 5321 on SMTP has a confusing section on the MX record. It states that when you are looking for an MX record, you should follow CNAMEs. Meaning you follow a certain record until you finally end up with a record that has an MX value. The RFC 5321 then points back to RFC 2321 for the discussion of the value of MX records.
The "efficiency" argument is pretty outdated by now, there are many many DNS queries being done, and most results are actually cached anyway. Furthermore, from the SMTP implementation standpoint, it is impossible to tell whether an MX record points to a CNAME, as the resolver handles all this, and the resolver will just give you an answer, even if the MX record points to a CNAME.
Removed a redundant section
Regarding the priority of selecting mail servers, I am unclear what "the shortest distance" refers to. But, according to http://www.han.com/dns.html, the mail server with the lowest priority number is selected first.
- "Distance" is Dan Bernstein's word for what the IETF calls "Priority". I've updated the article to clarify. — mendel ☎ 00:49, Jun 16, 2005 (UTC)
location for MX records
Suggestion from little old me: maybe list the standard default locations for MX Records. I viewed this article in an attempt to figure out where Apache hides the MX records.
- Apache doesn't store MX records (so it does not hide them either). Read the fine documentation of your nameserver. Erik Warmelink 20:49, 5 July 2007 (UTC)
the external link: "MX Record Lookup" appears to be an email harvesting site. It insists on a full email addy (not just a domain) before providing an MX record lookup.
- Which link are you referring to? I tested them all and I could not find one that insisted in getting a full email address.
maximum priority value
I don't know how accurate the info is, but I was trying to find the maximum priority value... the only reference I could find was http://www.petri.co.il/configure_mx_records_for_incoming_smtp_email_traffic.htm and this said it's 0 to 65535 (so I guess 2 bytes unsigned)... think it's worth adding to the page but would like a more solid reference (like an RFC document).
- RFC 1035 in section 3.3.9 indicates the value of "PREFERENCE" is "A 16 bit integer which specifies the preference given to this RR among others at the same owner." HectorH (talk) 17:47, 19 August 2009 (UTC)
IN A versus IN CNAME
Hello, I'm wondering if there should be some explanation about the use of a hostname in the MX record that is defined as an IN A host or a IN CNAME host.
Picture the following scenario:
mx1 IN A 192.168.1.1 mail IN CNAME mx1 acme.com. IN MX 10 mail.acme.com.
the host mx1 would receive email for the acme.com domain, it would then look at the list of MX records to determine if it should forward it to another exchanger or try to deliver it locally. Since mx1.acme.com != mail.acme.com, it may try to contact mail.acme.com (itself) to forward the mail causing an SMTP 554 - local configuration error message.
Most new SMTP servers handle this situation gracefully, but I wonder if this information should be listed in the entry for MX record.
- RFC 1912 strongly discourages an MX pointing to a CNAME by referencing RFC 1034 and RFC 974.
- This is also staed in RFC 2181 Section 10.3
- By corollary, NS and SOA records should not point to a CNAME (especially since as of version 9,
- Bind will not query for the glue record from a root nameserver for the additional section by default).
- -Cowbert 22:13, 8 September 2006 (UTC)
equal weight MX records
"If there is more than one entry with the same preference number, all of those must be tried before moving on to lower-priority entries."
Is there any references for this? A number of systems seem to try just one server at random of equal perference and then give up. The RFC 2821 is not explicit: If there are multiple destinations with the same preference and there is no clear reason to favor one (e.g., by recognition of an easily-reached address), then the sender-SMTP MUST randomize them to spread the load across multiple mail exchangers for a specific organization.
- On page 60 of RFC 2821 (my emphasis): the SMTP client MUST be able to try (and retry) each of the relevant addresses in this list in order Erik Warmelink 20:49, 5 July 2007 (UTC)
Ehhh what's that 'noonward awsome' thing? Spam? (EDIT: OMG you people are FAST - kewlness)
The article says "the sending mail transfer agent makes a DNS query" - but to what does it make the query? --Mickraus 15:50, 31 January 2007 (UTC)
- That would be a (far too) long story. Please see Domain name system. Erik Warmelink 20:49, 5 July 2007 (UTC)
I do not agree with the second part of this statement:
The MX mechanism does not grant the ability to provide mail service on alternative ports, nor does it provide the ability to distribute mail delivery across a set of equal-priority mail servers by assigning a weighting value to each one.
Assigning equal weight values, would distribute mail delivery across a set of mail servers. Someone please edit or explain.
- Weighting is not supported in MX records AFAIK, the only way weighting can be accomplished is through SRV records. :I think what you mean is assigning equal priorities to several MX records, which would allow for multiple servers to receive roughly the same amount of requests, albeit not very reliably, as queries will return a different server randomly.
- At least this is my understanding, please correct if needed. :)
- That is what I understand too. I removed the remark. Erik Warmelink 20:49, 5 July 2007 (UTC)
Once again, a technical subject written by a technical person, strewn with the assumption that those of us who come to Wikipedia already know what we came here to learn about. How Aggravating!
Would technical people who contribute here please understand the audience they are writing for: We are the UNINFORMED. You are not in a water-cooler conversation with your cohorts. You are writing for those who seek to learn something. That is why we read these pages, TO BECOME INFORMED!
It does not help to begin reading, only to encounter undefined terms, as well as assumed schema and content that make the reader break-away to yet another topic to get a definition for a term used in the article about the subject they are trying to learn something about.
In this case, I want to learn about MX records. In the first sentence, I find the need to understand CNAME's. This goes on and on and on. Soon the reader is balancing a half dozen NEW concept in their mind, while trying to integrate it all down to the original topic queried. I have an IQ or well over 150; but this is just insanity to think that those wanting to learn something are going to learn anything from a string of verbiage that assumes prior knowledge in a subject. Are you mad?
I'm sure the author wants to be helpful; but writing for a Wikipedia entry is NOT the same as writing for a technical manual.
Please, consider your audience. Lay the premise and supporting information out early and STATE IT. Better yet, take a course in the language and grammatical composition. Grrrrrrrrrr!
Ricky_O July 8, 2007, 2:50pm GMT
- I feel your pain, Ricky_0. But you're dealing with complex technical topics. Fortunately, the terms you are not familiar with are linked to pages describing them. When you find yourself entering into a topic in the middle of the complexity, you might need to jump up a few levels until you're are the overview, then dig back down into it. Then the topic should make more sense inside a proper context. --Gmuir 14:33, 8 August 2007 (UTC)
This article is very short. where is information about how to recording MX ( I mean it should be a host name not IP or CName. ) where is diagram? I think it need alot of change. what do you think? are you agree whit me? —Preceding unsigned comment added by 22.214.171.124 (talk) 19:22, 19 November 2007 (UTC)
- While there are much worse articles in terms of "over tech-ness" out there, could we perhaps have this edited to explain the anatomy of an MX record? I see three separate fields -- "priority," "host" and "goes to" -- perhaps the article could begin with an explanation of these before moving on to the history of MX records? It is very frustrating to open up a page and find almost no helpful (non-historic) information about the topic. —Preceding unsigned comment added by 126.96.36.199 (talk) 10:16, 26 July 2010 (UTC)
Reference to support a half-truth
"However, not all versions of all mail transfer agents pay attention to lower priority MX records — in other words, if the highest-priority MX server fails, the MTA doesn't address the backup server ."
This particular reference concerns older versions of PostFix which DO pay attention to lower priority MX records, but only do so if a higher priority server did not answer at all. I'm not sure how to phrase the text better without making it very complicated. 188.8.131.52 (talk) 16:08, 12 March 2008 (UTC)
Nolisting (proposed merge)
IMO creative games with MX priorities don't need a separate Nolisting article, the external link and a short section here would be good enough. At least it's educational wrt MX priorities. --184.108.40.206 (talk) 01:23, 29 May 2008 (UTC)
- greylisting and nolisting are two of a number of techniques that test the e-mail sender to make sure they conform to RFCs. The assumption is that spamware is poorly written or that conforming to standards is not effective for them. (e.g. slowing down the sending of spam hurts more than people dropping the spam due to non-conformance.) There are a few other techniques that fall in this category as per Anti-spam techniques (e-mail)#Enforcing RFC standards. The "hello" checking there doesn't have an article, I guess a new, catch-all, article could be created that lists all the minor techniques in this class. Wrs1864 (talk) 10:32, 5 June 2008 (UTC)
The overview section, the section where a reader might be expected to get his bearings, starts rather abruptly. It doesn't tell us what an MX record is, nor that it is part of the internet email system, nor that it is part of the Domain Name System (DNS). It doesn't tell us what an MX record is for. It tells us that it needs an address for the hostname that is contained in it. Not a good start.
I agree with Ricky O. In fact, I think I am going to wait a bit for suggestions, and then have a whack at it myself. I am not an internet expert, but I can at least add a little organization and an introduction to the article.
I agree with these comments. The item should start with a description of the function and format of an MX record, referring to RFC 1035, which includes the following:
"3.3.9. MX RDATA format
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | PREFERENCE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ / EXCHANGE / / / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
PREFERENCE A 16 bit integer which specifies the preference given to this RR among others at the same owner. Lower values are preferred.
EXCHANGE A <domain-name> which specifies a host willing to act as a mail exchange for the owner name."
I think the new section should also include examples of well-formatted MX records, e.g. "MX: 10 domainname.com." and "MX: 10 domainname.com., 20 anotherdomainname.com."
Meaning of destination in RFC
I think the following text is misleading (excerpt from MX_record#The_preference_debate):
For example, sometimes servers indicate temporary failures, either by explicitly sending a 4xx error or by ending the connection unexpectedly (which must be treated as a 451 error, according to Section 3.8 of the RFC). If there is a temporary failure, should a more distant MX record be attempted, or should the server wait and retry later? According to Section 220.127.116.11:
- The sender MUST delay retrying a particular destination after one attempt has failed.
But as far as I understand, a "destination" in RFC 5321 always describes an individual host. So it would be perfectly OK to try all MX records directly one after the other, until delivery succeeds or all MX records have been tried. Or do I understand this wrong? -- Tbleher (talk) 11:34, 6 July 2010 (UTC)
- Well, I will pipe in. Consider an old version of this article, like  in which I edited it in 2008. Note that a later editor has simply updated some references to a newer RFC and left some of the original verbiage alone. The issues with this are many. First, there is standard SMTP and there is the revised (extended) versions, many of which are recognized but not as yet a formal standard. This means that the article gets twisted between talking about SMTP as it were, and the newer RFCs, fresh off the press with new ideas and improvements that fix some of the nuances of SMTP.
So without answering your question further, look at all of the RFCs from the beginning and the old article versions to see where the "Preference debate" has turned into a mess on the Wikipedia. This is why standards are good and debate becomes so difficult...
- the problems are old,
- unfixed, and
- eternally debatable, and
- SMTP implementations are all over the place,
- today and for years to come;
- Plus, there are so many RFCs, many people get confused as to which one(s) are valid, so they prefer the most recent one, even if it is not an Internet standard.
- Please click the link for the above and see the current standard, RFC 5000 and see why my 2008 edit is (in my opinion) more applicable than the current version of the MX Record article.