On Fri, 4 Apr 2003, Adam Newby wrote:
> We've been experiencing a problem whereby MX records fail to be found for
> some domains when exim does a DNS lookup (NB as distinct from timing out
> when trying to do the MX lookup). In this case, exim appears to
> bounce the message immediately.
Well, that's the correct behaviour. The domain is unknown.
> This appears to be an intermittent
> problem, as the MX lookup is found OK with emails at other times.
The usual reason for this kind of behaviour is that one of the DNS
servers for the zone has got out of step with the others. You can test
this by finding the name servers for the zone, and looking up the problem
domain in each of them explicitly. If the MX records are present in some
name servers and not in some others, that explains why you sometimes
find them and sometimes not.
> 1. Could this be a problem with our local BIND installation? We run 8.3.x
> rather than 9.x.
More likely to be a zone problem as described above, I would think.
> 2. Can exim be made to retry in the event of no MX records being found?
No.
> Also, exim's behaviour in bouncing such messages immediately seems
> inconsistent. If it fails to find an MX record, it looks for an A record
> instead (for some reason!).
Because the RFC says that it must. This is a backwards compatibility
feature from the days before MX records existed. You can turn it off if
you want to (see the mx_domains option in the dnslookup router) but I
would not advise it, because sadly (IMHO) there are still domains around
that rely on it.
> For many people, this points at a machine not
> running a mail server, and often with a firewall, so exim attempts to
> contact it, and times out, causing the message to be deferred for retry
> later.
Exactly. That is why this old behaviour is becoming a nuisance. I wish
they had deprecated it in the latest RFCs, but they didn't. However,
from the start (1995) Exim has been ready for this change with the
mx_domains option. :-)
> If it happens that there's no A record, the message bounces.
That's right. If there are no MX and no A records, that it what it is
supposed to do.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.