home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Previous Section Next Section

-d6.1

Show failed mail Debug command-line switch

Mail can fail for a wide variety of reasons. The way that sendmail handles errors is determined by the setting of the ErrorMode option (ErrorMode) in the configuration file. The -d6.1 (a.k.a. -d6) debugging switch causes sendmail to print the error-handling mode that is in effect at the time it first begins to handle failed mail:

savemail, errorMode = char, id = qid, ExitStat = errornum
e_from= output of printaddr( ) here (Section 16.3)

Here, char is either: p for print errors; m for mail-back errors; w for write-back errors; e for special BERKnet processing; or q for "don't print anything" (all of which are described under the ErrorMode option in ErrorMode). The qid is the queue identifier (such as g7PEf0Bv027517). The errornum is the number of the error that caused the message to fail (as defined in <sysexits.h>). And e_from= uses printaddr( ) to print details about the sender's address.

If the error-processing mode is m (for mail back) and the -d6.1 debugging switch is in effect, sendmail prints details about how the message is being returned to the sender:

***Return To Sender: msg=reason, depth=number, e=addr, returnq= 
  output of printaddr( ) here (Section 16.3)

Here, reason is a quoted string of text that explains why the mail failed. This can be an SMTP reply string. The number is zero for normal delivery and one for error delivery. The addr is the location in memory of the information about the current envelope. Finally, sendmail calls printaddr( ) to print the details of the queue of recipients (returnq=) for the current message.

    Previous Section Next Section