Gary A Delong <gdelong(_at_)ctron(_dot_)com> writes:
Could someone explain the practice of assigning
exit codes.
I've noted that the suggested .forward seems to
return an exit code of 75, and that many spam
recipies use 77.
Is there an exit code that will cause sendmail
to treat the mail as undeliverable? (unknown
user/host/domain)
To quote /usr/include/sysexits.h:
#define EX_USAGE 64 /* command line usage error */
#define EX_DATAERR 65 /* data format error */
#define EX_NOINPUT 66 /* cannot open input */
#define EX_NOUSER 67 /* addressee unknown */
#define EX_NOHOST 68 /* host name unknown */
#define EX_UNAVAILABLE 69 /* service unavailable */
#define EX_SOFTWARE 70 /* internal software error */
#define EX_OSERR 71 /* system error (e.g., can't fork) */
#define EX_OSFILE 72 /* critical OS file missing */
#define EX_CANTCREAT 73 /* can't create (user) output file */
#define EX_IOERR 74 /* input/output error */
#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */
#define EX_PROTOCOL 76 /* remote error in protocol */
#define EX_NOPERM 77 /* permission denied */
#define EX_CONFIG 78 /* configuration error */
You should read the comments at the top of actual file for full
explanations of them all. For example, EX_NOPERM should _not_ be used
for file level permission problems (those would be NOINPUT, CANTCREAT
or OSFILE, depending on the details), but rather for higher level
permissions.
Philip Guenther