Reid Sutherland:
> Hi,
> 
> Why does Postfix bounce on command execution failure,

The action depends on the command exit status. If you want Postfix
to retry, return the appropriate status.

> or on command timeout?

I don't think that it is a good idea to fill up your machine with
programs that keep timing out again and again and again. Postfix
is not only about performance and security, but also about safety
(mail servers should be able to deal with problems and not require
a human babysitter).

>  This isn't a situation for a hard failure, please clarify the 
> reasoning.
> 
>  From postfix-2.11.7/src/global/pipe_command.c:672
> 
>          } else if (write_status && write_errno != EPIPE) {
>              vstring_prepend(why->reason, "Command failed: ",
>                              sizeof("Command failed: ") - 1);
>              vstring_sprintf_append(why->reason, ": \"%s\"", args.command);
>              return (PIPE_STAT_BOUNCE);

That is a write error, and the logfile tells you what the problem
is.  The write(2) may fail for a bazillion reasons, some bad and
some not so bad. Returning the mail is the safe action to take.

        Wietse

Reply via email to