Trace delivery Debug command-line switch

The -d11.1 (a.k.a. -d11) debugging switch is used to trace message delivery. It must be run with the -v command-line switch, or no output will be produced.

First, for each delivery agent the following is printed:

openmailer: argv

Here, argv is the A= array for the delivery agent, with macros expanded and printed.

Second, the status of remote hosts is cached internally. Before connecting to a remote host, sendmail checks its cache to see whether that host is down. If it is, it skips connecting to that host. If the -d11.1 debugging switch is also specified, the status of the down host is printed as:

openmailer: output of mci_dump(  ) here

The output of mci_dump( ) looks like this:

MCI@memaddr: flags=mci_flags<flag,flag,...>,
errno=mci_errno, herrno=mci_herrno, exitstat=mci_exitstat, state=mci_state,
maxsize=mci_maxsize, phase=mci_phase, mailer=mci_mailer,
status=mci_status, rstatus=mci+rstatus,
host=mci_host, lastuse=mci_lastuse

The meaning of each mci_ item in this output is described in Table 15-7.

Table 15-7. The meaning of the MCI structure items


What prints


The address in memory of this C-language structure


The flag bits in hexadecimal (see Table 15-8)


The error number of the last connection


The DNS h_errno of the last lookup


The <sysexits.h> exit status of the last connection


The current SMTP state


The maximum size message the host will ...

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

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.