Traditional sendmail is set up through a system configuration file (typically /etc/sendmail.cf or /usr/lib/sendmail.cf), that is not anything close to any language you've seen before. Editing the sendmail.cf file to provide customized behavior can be a humbling experience.
Sendmail+IDA makes such pain essentially a thing of the past by having all configuration options table-driven with rather easy to understand syntax. These options are configured by running m4 (a macro processor) or dbm (a database processor) on a number of data files via Makefiles supplied with the sources.
The sendmail.cf file defines only the default behavior of the system. Virtually all special customization is done through a number of optional tables rather than by directly editing the sendmail.cf file. A list of all sendmail tables is given in figure .
Figure: sendmail Support Files.