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.



-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to