On Sun, Oct 02, 2022 at 03:33:52PM -0700, Dan Mahoney wrote:

> If I am piping my mail to a program (in this case, day job's RT
> install), is there some way in which I can exit that will cause a
> message to be bounced back to the sender?
> 
> Or do I need a full-on milter to do this kind of rejection?

Postfix supports Sendmail-compatible exit codes, as listed in
/usr/include/sysexits.h:

    #define EX_OK           0       /* successful termination */

    #define EX__BASE        64      /* base value for error messages */

    #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 */

Of these (excluding of course EX_OK) EX_TEMPFAIL is the only "soft"
failure code, the rest are hard failures.  Pick the one that most
closely meets your context.  Of course not generating bounces is best
whenever possible.

-- 
    Viktor.

Reply via email to