On Thu, 2005-12-08 at 09:50 +0100, Felix Schwarz wrote: > Kjetil Torgrim Homme wrote: > > 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. > > My script does not send any mails. It is just a filter that changes a > mail in certain way. After that the output (RFC 822 email) should be > handed over to Exim again. Exim will handle the actual delivery.
why are you using a pipe delivery? > What Exim does is: It takes the mail, calls the transport filter script. > This script will return a non-zero exit code "A non-zero code is taken to mean that the transport filter failed in some way. Delivery of the message is deferred." however, since you are invoking exim as a pipe delivery, that child exim will run to completion with whatever input it receives. (my understanding, not verified.) Philip, I think perhaps the documentation for transport_filter should be clearer about whether transport_filter and pipe_command are run in parallel or sequentially. > and (as a savety measure) > will return the original email without any changes. Exim will take that > mail and deliver it. *Additionally* the original mail will stay in the > queue and the queue runner will try to deliver it on the next run. when will the message ever leave the queue? > Mostly the transport filter will fail again because a database is down > and manual intervention by a human operator is needed (our transport > filter script will notify an administrator). The problem is that Exim > duplicates the mail on every queue run that means within one hour there > are 12 duplicate mails! which is to be expected. -- 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/
