-d2.1

End with finis( ) Debug command-line switch

Ordinarily, sendmail exits silently when it is done (unless an error causes an error message to be printed). The -d2.1 (a.k.a. -d2) debugging switch causes sendmail to print three useful values when it exits. The message it prints looks like this:

=  ==  =finis: stat number e_id=qid e_flags=flags

The number is the final value of the sendmail program’s global ExitStat variable. It is usually updated to contain the latest error value as defined in <sysexits.h >. See sendmail’s exit( ) Status on page 228 for a detailed description of the possible exit values.

The qid is either the queue identifier (such as g7PI04TK027759), or NOQUEUE if the message was never assigned an identifier (if it was never queued, for instance).

The flags is a hexadecimal representation of the possible envelope flags followed by a text representation of those flags in angle brackets with the leading EF_ removed. For example:

201003<OLDSTYLE,INQUEUE,GLOBALERRS,HAS_DF>

These are the envelope flags that were in effect with the current envelope when sendmail exited. The possible values are shown in Table 15-5.

Table 15-5. Hexadecimal envelope flags

Text

Hex

Description

EF_OLDSTYLE

0x00000001

Use spaces (not commas) in headers.

EF_INQUEUE

0x00000002

This message is fully queued.

EF_NO_BODY_RETN

0x00000004

Omit message body on error.

EF_CLRQUEUE

0x00000008

Disk copy is no longer needed.

EF_SENDRECEIPT

0x00000010

Send a return receipt.

EF_FATALERRS

0x00000020 ...

Get sendmail, 4th 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.