I'm trying to divert some incoming mail through a perl script by
matching a header line and using
pipe "/path/to/a/program"
seen finish
The filter appears to be matching the mail I want matched but the
message is not being sent to the program. Instead the filter appears to
pass the pipe back to exim as a new address. Here's some excerts from
the debugging log. I've looked through the manual but I can't find
anything on having to set a special transport for filter commands. I
have a userforward transport that sets various transports for the
various files, it's the stock one out of the example configure file. Any
suggestions as to what I'm doing wrong? The intent here is to catch mail
that matches the search filter and pipe it through a script that will
reinject it into the mail system, thus I have seen finish so the
original shouldn't make it into the system at all.
Filter: start of processing
forked delivery process 26207
set_process_info: 26169 3.13 handling incoming connection from localhost
(mehome) [127.0.0.1]
ready for new message
smtp_setup_msg entered
Filter: end of processing
LOG: 1 MAIN
original recipients ignored (message_filter)
message_filter added |/var/mail/bin/Munge-OUT
Delivery address list:
|/var/mail/bin/Munge-OUT
locked /var/spool/exim/db/retry.lockfile
opened DB file /var/spool/exim/db/retry: flags=0
>>>>>>>>>>>>>>>>>>>>>>>>
Considering: |/var/mail/bin/Munge-OUT
unique = |/var/mail/bin/Munge-OUT:message filter
>>>>>>>>>>>>>>>>>>>>>>>>
After directing:
Local addresses:
|/var/mail/bin/Munge-OUT
Remote addresses:
Failed addresses:
Addresses to be routed:
Deferred addresses:
search_tidyup called
>>>>>> Local deliveries >>>>>>
post-process |/var/mail/bin/Munge-OUT
LOG: 0 MAIN PANIC
== |/var/mail/bin/Munge-OUT <message filter> transporting defer (-1):
No transport set by director
--
Artificial Intelligence stands no chance against Natural Stupidity.
GAT d- -p+(--) c++++ l++ u++ t- m--- W--- !v
b+++ e* s-/+ n-(?) h++ f+g+ w+++ y*