16.5 Pitfalls

  • It is best to debug sendmail in a window environment, within script(1), with emacs(1), or something similar. Debugging output can run to many screens.

  • Sometimes debugging output seems not to be printed:

    % /usr/sbin/sendmail -d11.1 you < /dev/null

    When this happens, add the -v command-line switch to keep the output attached to your screen:

    % /usr/sbin/sendmail -v -d11.1 you < /dev/null 
         many lines of output here
  • There must be no space between the -d and its numeric arguments. If you put space there, the numeric arguments might be interpreted as recipient addresses.

  • There is no way to isolate a single category and level. Each level includes the output of all lower levels within a specified category.

  • The concept of debugging, versus other uses of -d, is muddled in sendmail. Tracing, for example, can be valuable for tuning a configuration file, yet such an activity is not really debugging. We hope to make the distinction clear by documenting only the "useful" debugging switches, and omitting the true code-level debugging switches from this chapter.

  • Because the -d command-line switch shows details of the internals of sendmail, the developers of sendmail consider that output to be unpublished material. As a consequence, the details of debugging output documented here might differ from what you see when running versions above or below V8.12. You are strongly encouraged to avoid writing a program to parse debugging output because such a program might become obsolete with a future release of sendmail.

    Part I: Build and Install
    Part II: Administration
    Part III: The Configuration File