The FEATURE(enhdnsbl) (for enhanced dnsbl) is a superset of the FEATURE(dnsbl) described earlier. It is used like this:

FEATURE(enhdnsbl, optional args)

The enhancement consists of additional arguments—that is, one or more literal addresses you expect returned when an address should be rejected. For example, the following rejects bad dial-up hosts and defers temporary lookup errors:

FEATURE(enhdnsbl,`dialups.mail-abuse.org',`"550 dial-up site refused"',`t',

The first three arguments are the same as those you saw for the FEATURE(dnsbl) (FEATURE(dnsbl) on page 261): the lookup host, an error message, and a t character. But unlike the FEATURE(dnsbl), an error specified in the second argument prevents temporary lookup errors from being deferred. The third argument to FEATURE(enhdnsbl) (the t) allows temporary lookup errors to be recognized, which causes delivery to be deferred:

451 Temporary lookup failure of address at dialups.mail-abuse.org

Here, the address is the IP address of the sending host. The dialups.mail-abuse.org matches the lookup host specified in the second argument to the FEATURE(enhdnsbl). If the t were omitted, as for example:

FEATURE(enhdnsbl,`dialups.mail-abuse.org', `"550 dial-up site refused"',

temporary lookups will be ignored and the message will be accepted.

The fourth argument is the expected result of the lookup. For the lookup host dialups.mail-abuse.org, a successful lookup (one that means the message should ...

Get sendmail, 4th Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.