FAQ / Routing to remote hosts / Q0318
| /Q0301 /Q0302 /Q0303 /Q0304 /Q0305 /Q0306 /Q0307 /Q0308 /Q0309 /Q0310 /Q0311 /Q0312 /Q0313 /Q0314 /Q0315 /Q0316 /Q0317 /Q0318 /Q0319 /Q0320 /Q0321 /Q0322 |
Q0318
Question
Exim won't route to a host with no MX record.
Answer
More than one thing may cause this.
Are you sure there really is no MX record? Sometimes a typo results malformed MX record in the zone file, in which case some name ers give a SERVFAIL error rather than NXDOMAIN. Exim has to treat as a temporary error, so it can't go on to look for address records. can check for this state using one of the DNS interrogation commands, as nslookup, host, or dig.
Is there a wildcard MX record for your domain? Is the search_parents option on in your dnslookup router? If the answer to these questions is "yes", that is the cause of the problem. When DNS resolver fails to find the MX record, it tries adding on your in if search_parents is true, and thereby finds your wildcard MX rd. For example:
There is a wildcard MX record for *.a.b.c.
There is a host called x.y.z that has an A record and no MX record.
Somebody on the host m.a.b.c domain tries to mail to user@x.y.z.
Exim calls the DNS to look for an MX record for x.y.z.
The DNS doesn't find any MX record. Because search_parents is true, it then tries searching the current host's parent domain, so it looks for x.y.z.a.b.c and picks up the wildcard MX record.
Setting search_parents false makes this case work while retaining the wildcard MX record. However, anybody on the host m.a.b.c who mails to user@n.a (expecting it to go to user@n.a.b.c) now has a problem. The widen_domains option of the dnslookup router may be helpful in this circumstance.
| /Q0301 /Q0302 /Q0303 /Q0304 /Q0305 /Q0306 /Q0307 /Q0308 /Q0309 /Q0310 /Q0311 /Q0312 /Q0313 /Q0314 /Q0315 /Q0316 /Q0317 /Q0318 /Q0319 /Q0320 /Q0321 /Q0322 |
FAQ / Routing to remote hosts / Q0318
