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 ...

Get Sendmail, 3rd 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.