Hi,
I sent this mail already a week ago to the list, but haven't got any
reply, yet. It seems, I have a rather unusual problem :( But
nevertheless, I'm still looking for advice :) So I thought, I resend the
mail. Perhaps I'm more lucky the second time. No, I won't send it a
third time, promise :)
> Hi guys,
>
> I have a transport_filter that I run in my appendfile transport:
>
> address_file:
> driver = appendfile
> delivery_date_add
> envelope_to_add
> return_path_add
> transport_filter = /usr/local/lib/eagleeye/filter-feedback.pl \
> $message_id
>
> When the transport_filter's exit code is non-zero, indicating an error, the message gets stuck on the queue:
>
> 2004-12-10 19:13:37 +0100 1CcpBY-000BJu-Q3 == /var/spool/eagleeye/ham/eagleeye-ham.mbox <ham@???> R=system_aliases T=address_file defer (-24): filter process failure 1 while writing to /var/spool/eagleeye/ham/eagleeye-ham.mbox
>
> Is there a way I can ignore such errors and simply discard the message? If not, how can I quickly delete them from the queue? There's no need to inform the original sender via a bounce. I'm running exim v4.43.
Hm, I just saw, I could use errors_to = "" in the corresponding router
to not send a bounce, but I would still have the message on my queue,
leading to the message being retried and the transport filter returning
again the same error code.
I'm looking for a way to discard the message in case the transport
filter returns an error. Or alternatively, to give up processing. I
guess, anything else but defer would be fine. Is there any possibility I
can achieve this? Of course, the transport filter could always return
success in production mode, no matter whether it processed the message
successfully or not, but I try to avoid this approach.
Thanks for your help,
Patrick