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.