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 Section 15.5 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 16-6.
Table 16-6. Hexadecimal envelope flags
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
|
Fatal errors occurred
|
EF_DELETE_BCC
|
0x00000040
|
Delete Bcc: headers entirely
|
EF_RESPONSE
|
0x00000080
|
This is an error or return receipt
|
EF_RESENT
|
0x00000100
|
This message is being forwarded
|
EF_VRFYONLY
|
0x00000200
|
Verify only (don't expand aliases)
|
EF_WARNING
|
0x00000400
|
Warning message has been sent
|
EF_QUEUERUN
|
0x00000800
|
This envelope is from the queue
|
EF_GLOBALERRS
|
0x00001000
|
Treat errors as global
|
EF_PM_NOTIFY
|
0x00002000
|
Send return mail to postmaster
|
EF_METOO
|
0x00004000
|
Send to me too
|
EF_LOGSENDER
|
0x00008000
|
Need to log the sender
|
EF_NORECEIPT
|
0x00010000
|
Suppress all return receipts
|
EF_HAS8BIT
|
0x00020000
|
Has at least one 8-bit character in body
|
EF_NL_NOT_EOL
|
0x00040000
|
Don't accept raw newline as end-of-line
|
EF_CRLF_NOT_EOL
|
0x00080000
|
Don't accept carriage-return/line-feed as end-of-line
|
EF_RET_PARAM
|
0x00100000
|
SMTP RCPT command had RET argument
|
EF_HAS_DF
|
0x00200000
|
Set when the df file is instantiated
|
EF_IS_MIME
|
0x00400000
|
This is really a MIME message
|
EF_DONT_MIME
|
0x00800000
|
This message is not MIME-able
|
EF_DISCARD
|
0x01000000
|
Discard this message
|
EF_TOOBIG
|
0x02000000
|
This message's body is too big
|
EF_SPLIT
|
0x04000000
|
This envelope has been split
|
EF_UNSAFE
|
0x08000000
|
Message read from an untrusted source
|
For example, if the message were fully queued and required a DSN
return receipt, the flags would print as:
e_flags=12<INQUEUE,SENDRECEIPT>
Note that this line of output is also produced by the
-d13.1, -d40.3, and
-d50.1 debugging switches but under different
circumstances.