Author: Graeme Fowler Date: To: exim-users Subject: Re: [exim] Email DNS Issue
Hi
On Sat, 2008-03-15 at 15:04 -0500, Matt wrote: > My understanding of what this does. If the source email address
> domain is hosted on the same box it just checks if it exists. If its
> not hosted on the same box it just does a "dig domain mx". Is that
> right?
No. You posted the answer to this yourself, and several other
respondents have explained it too. In your config file it says:
# Verification consists of trying to route the
# address, to see if a bounce message could be delivered to it. In the
# case of remote addresses, basic verification checks only the domain.
The important bit is "trying to route the address". For remote domains -
those not in a local domain list - this means, usually, it'll run
through the routers and find one referring to a transport which uses the
smtp driver. The most common pair in a reasonably default state are:
Essentially, the verification says "if it ain't local, can I look up an
MX or A record for the recipient's domain". If the answer is yes, the
address passes verification.
How Exim looks it up depends entirely on how the system is configured to
resolve names, which depends on the contents of /etc/resolv.conf
and /etc/nsswitch.conf. Again, most commonly, you'll find your system
resolvers defined in /etc/resolv.conf. If they're local, that's
something for you to work out/on.
As for your original problem, if the remote domain has invalid DNS
entries for NS or MX records, Exim will throw an error (as you see)
quite correctly.
You can fix this by (a) contacting the remote domain owner, hitting them
with a LART, and getting them to fix their broken DNS, or (b) creating a
router/transport pair for the broken domain using the manualroute driver
on the router. Hell, you might even need to do that to contact them in
the first place.