Autor: Tim Jackson Data: A: exim-users Assumpte: Re: [Exim] exim 3.x treatment of failure in transport_filter
On Sun, 13 Jun 2004 14:47:16 +0100 Chris Lightfoot wrote:
> If I set the transport_filter for a delivery to some program which
> fails, I find that exim delivers a blank message and drop the input
> message on the floor.
The obligatory first response is, if you're unfamiliar with this list,
"upgrade to Exim 4, it's been out for over 2 years" :) This is a general
recommendation regardless of whether Exim 4 actually fixes your problem,
mostly because we've all forgotten how Exim 3 works and also because even
if it is broken, I don't think Philip or anyone else is particularly
inclined to fix it unless the problem is earth-shattering.
However, in this case, I've just quickly tried your example with a recent
version of Exim 4 (4.30), using local message submission, and the result
appeared to be sensible: the message was deferred, put on the queue and
the log shows the following:
2004-06-14 14:07:30 1BZrBR-0002l7-Hm == dest-user@??? R=localuser
T=local_delivery defer (32): Broken pipe: error while writing to
/path/to/mbox
Without looking at the source and reminding myself of exactly what the
Fine Manual says about this situation, this is circumstantial evidence at
best, but if nothing else it suggests that it's worth upgrading to Exim 4
yourself and giving it a go.
> The same thing seems to happen when the transport filter is an existing
> program which fails, or when it takes a very long time (as can happen
> with spamc <snip>
It's worth noting that another bonus of Exim 4 is that you can use
Exiscan, the SMTP-time mail scanning extension. Many people find that this
is not only a good replacement for, but a considerable improvement on,
passing mails through spamc at delivery time - although that depends on
whether you actually want to reject spam that scores over a certain
threshold, or just want to tag it all and deal with it at an MUA level.
(There's a mini HOWTO on my site if you need it)