Previous Section Next Section

EX_SOFTWARE

An internal software error sendmail exit value

The EX_SOFTWARE exit code (value 70) indicates that a software error occurred.

When figuring out whether to speak SMTP, sendmail looks to see whether the $u sendmail macro is present in the A= equate for the selected delivery agent (See this section). If $u is absent, sendmail will speak SMTP. If sendmail was compiled without SMTP support (SMTP), the following error is logged and the fork(2)'d child exits with an EX_SOFTWARE exit code:

SMTP style mailer not implemented

When sendmail fork(2)s and exec(2)s a delivery agent to perform delivery, it calls wait(2) to wait for the delivery agent to exit. If the call to wait(2) fails, sendmail logs the following error and the fork(2)'d child exits with an EX_SOFTWARE exit code:

endmailer delivery agent: wait

When sendmail first starts to run (provided that it is not in rule-testing mode), it performs a chdir(2) into its queue directory. If that chdir(2) fails, sendmail logs the following error and exits with an EX_SOFTWARE exit code:

cannot chdir(directory)

The sendmail program can run a program to look up a key in a database. After running that program, sendmail calls wait(2) to wait for the program to exit. If the call to wait(2) fails, sendmail prints the following error and the fork(2)'d child exits with an EX_SOFTWARE exit code:

prog_map_lookup(program): wait error reason

When bouncing mail, sendmail tries to set the sender to Postmaster if no sender can be determined. Before it can use that address (Postmaster), it has to parse it with rules to select a delivery agent. If that parsing fails, sendmail logs the following error and the fork(2)'d child exits with an EX_SOFTWARE exit code:

Cannot parse Postmaster!

When the sending of an error message results in an error, an attempt is made to send notification of that error to the address defined by the DoubleBounceAddress option (DoubleBounceAddress). If parsing that address fails, sendmail logs the following error and the fork(2)'d child exits with an EX_SOFTWARE exit code:

cannot parse double bounce address

See the description of $n ($n) for another error that results in the fork(2)'d child exiting with an EX_SOFTWARE exit code.

    Previous Section Next Section