Enable at Compile Time

Vendors that provide V8 sendmail in precompiled form might or might not provide access to all the types of databases that V8 sendmail supports. If your online documentation lacks this information, you can run sendmail with the -d0.4 debugging switch to discover what it supports:

% /usr/sbin/sendmail -d0.4 -bt

Version 8.14.1
 Compiled with: MAP_REGEX LOG MIME7TO8 MIME8TO7 NAMED_BIND NETINET
                NETUNIX NIS NEWDB QUEUE SCANF SMTP TCPWRAPPERS USERDB
                XDEBUG
...

In this implementation of sendmail the following databases are available: regular-expression (the MAP_REGEX), Sun nis (the NIS), the bestmx database-map type (the NAMED_BIND), and the Sleepycat DB’s hash and btree types (the NEWDB). Many internal database maps needed by sendmail are also automatically included without being enabled. They are text, stab, implicit, user, host, program, sequence, null, syslog, arith, macro, and switch. Note that hesiod and nisplus database maps are not supported by this particular sendmail binary (neither HESIOD nor NISPLUS was printed in the preceding output).

If you download and compile sendmail yourself, you can include any supported databases. Support is declared in your m4 Build file. For example, the following includes support for the dns database-map type:

APPENDDEF(`confMAPDEF', `-DDNSMAP')

Here, APPENDDEF is used to append the compile-time switch to any previous definitions. The -DDNSMAP is the compile-time switch that, when given a positive, nonzero value, enables inclusion ...

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.