"host map: lookup (domain): deferred"

This Sendmail error--also seen as "Transient parse error -- message queued for future delivery" or "Name server: domain: host not found"--indicates that Sendmail encountered a problem with one of its DNS resource record lookups of the destination domain.

Starting with Sendmail 8.12, Sendmail queries the following 3 DNS resource records in order:
AAAA (IPv6 address records; not applicable if you compiled Sendmail without IPv6 support)
A
MX

The proper name server response for a resource record for which it is authoritative but has no data would be "NOERROR" with an empty answer section as seen below:

Example:

dig good_domain aaaa

; <<>> DiG 9.2.2 <<>> good_domain aaaa
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13014
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

A misconfigured DNS server may return a "SERVFAIL" or "NXDOMAIN" status:

Example:

dig bad_domain aaaa

; <<>> DiG 9.2.2 <<>> bad_domain aaaa

;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 8416
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

Or:

dig bad_domain aaaa

; <<>> DiG 9.2.2 <<>> bad_domain aaaa
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 8416
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

With Sendmail 8.12.x, you can ignore AAAA "SERVFAIL" or "NXDOMAIN" errors and continue DNS processing with the following entry in your macro configuration (.mc) file:
define(`confBIND_OPTS', `WorkAroundBrokenAAAA')dnl

However, if the A or MX record lookup for the domain returns a "SERVFAIL," Sendmail will queue the message, believing it has encountered a transient DNS problem. For example, if a domain has a valid A record but returns a "SERVFAIL" when queried for an MX record (instead of "NOERROR" with an empty answer section), Sendmail will queue the message. You should contact the remote name server administrator in order to fix these problems.

To watch Sendmail's DNS queries when processing a queued message, use the -d8.8 debug syntax:
sendmail -v -d8.32 -qImessage_ID

Back to brandonhutchinson.com.
Last modified: 11/24/2003