Re: [exim] Errors in transport filters

Top Page
Delete this message
Reply to this message
Author: Kjetil Torgrim Homme
Date:  
To: Felix Schwarz
CC: exim-users
Subject: Re: [exim] Errors in transport filters
On Wed, 2005-12-07 at 11:40 +0100, Felix Schwarz wrote:
> I'm using this transport filter in Exim:
>
> filter_transport:
>    driver = pipe
>    command = /usr/sbin/exim ...
>    transport_filter = /some/command ...
>    log_output = true
>    temp_errors = *
>    message_prefix = ""
>    message_suffix = ""
>    user = exim
>    group = exim
>    return_path_add = false

>
> Sometimes the filter will fail due to the called script exiting with a
> non zero exit code. In this case the message stays in the queue and exim
> will try to deliver it with the next queue run. But exim sends the mail
> nevertheless therefore the mail gets duplicated on every queue run.


well, that's what your configuration asks for, isn't it? any non-zero
exit code is a temporary error which means Exim will retry delivery
later. if your script sends the e-mail even it returns a non-zero code,
you'll need to change temp_errors to be more specific, or just remove
the line.

http://www.no.exim.org/exim-html-4.50/doc/html/spec_29.html#IX2166

> How can I stop exim sending the additional mail? I want that the mail
> will stay in the queue until it could pass the transport filter.


oh, now I get it, I think. but why are you using command
= /usr/sbin/exim? you can use transport_filter with the smtp driver,
too. at least it will be easier to debug it if you simplify it that
way.

--
Kjetil T.