ietf
[Top] [All Lists]

Re: [Fwd: [Asrg] Verisign: All Your ...

2003-09-17 16:03:53

On Wed, 17 Sep 2003, Dean Anderson wrote:

Your mail client was making a false assumption. That is a bug in the
software.  The mail client shouldn't be looking up domains. It should be
sending it to the relay. The relay then decides where to send the message.
The relay may be configured to route non-DNS domains, or do translations
to other systems. Your mail client can't know about that. If the relay
can't send the message somewhere, then it is supposed to bounce the
message.  This decision is made by the relay, not the mail client.

Your mail client has had a bug, for a long time.
Its not a bug. As many pointed out RFCs specify that mail servers should 
attempt to get MX record for domain first but if it fails should use "A" 
record if it exists. This behavior has existed for long time, but I think 
it came from way early on the internet when MXs were not used by everybody
and mail was still being routed directly to the machine specified.

Its possible that this is also used (dont know how much) for internal mail
routing (i.e. when email(_at_)companydomain(_dot_)com is received by public mail
gateway it is then rerouted to 
your(_dot_)name(_at_)corporate(_dot_)mailserver(_dot_)domain(_dot_)com 
and mail administrator is too lazy to enter MX for corporate.mailserver 
possibly because they are not even using DNS internally and are using 
WINS or domain is directly in the mail routing gateway, like in /etc/hosts)

What would be interesting is too try to get some statistics on how much 
the direct A DNS records (as opposed to MXs) are really used nowdays and 
if the number if sufficiently small (on the public internet, i.e. if its
done on company net as described above, then mail routing software may handle 
case as it wants anyway), it maybe good idea for IETF to release update 
BCP to specify that mail should ALWAYS be routed to MX record and failure 
maybe issued if it does not exist.

-- 
William Leibzon
Elan Networks
william(_at_)elan(_dot_)net