When
sendmail
is given the
-d
debugging
switch, it internally performs three distinct actions. First,
if the
category.level
is omitted,
sendmail
presets all categories 0-99 inclusively to a level
of 1. It then sets the categories in the command line
(if any) to the corresponding levels specified (or to 1 if no
level is specified). Finally, it calls
setbuf
(3) to place
the standard output in unbuffered mode.
Setting categories 0-99 to a level of 1 has two
side effects:
-
Usually, certain errors are not reported because they are tolerable,
but a level of 1 generally causes those otherwise missing error messages to
be printed. For example, if the
aliases
file is missing,
sendmail
does not perform aliasing but is silent about it. A category
27 level of 1, on the other hand,
causes
sendmail
to print the reason
it could not open the
aliases
file.
-
Since
sendmail
is usually silent about what it is doing, any debugging
at all causes it to print a great deal of information about what
it is trying to do and what it has done.