Author: Adam J. Henry Date: To: exim-users Subject: [Exim] print message before writing to pipe
Hi,
Several similar messages are erroring-out while being processed by a Pipe
transport that calls Spambayes. I want to send an example of these email
that are causing the filter to return an error to the filter maillist, but am
not sure how to get an exact copy of what Exim is passing to the filter.
The -Mvb or -Mvh options seem to put information in the output that
wouldn't normally be included in the message. Is there a single command
or way to view the message as it would be written to the pipe?
thanks,
hank
Below is the debug of the transport in question:
>>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>> --------> christine@??? <--------
locking /usr/local/exim/var/spool/db/retry.lockfile
locked /usr/local/exim/var/spool/db/retry.lockfile
opened hints database /usr/local/exim/var/spool/db/retry: flags=0
dbfn_read: key=T:christine@???
no retry record exists
search_tidyup called
changed uid/gid: local delivery to christine <christine@???>
transport=d
omain_spambayes
uid=8 gid=8 pid=21405
auxiliary group list: <none>
home=/tmp current=/tmp
set_process_info: 21405 delivering 1BHxBg-00071B-Ln to christine using domain_spambayes
direct command:
argv[0] = /usr/local/bin/sb_filter.py
argv[1] = -d
argv[2] = /home/virtualmail/${domain}/spam_admin/spambayes.db
direct command after expansion:
argv[0] = /usr/local/bin/sb_filter.py
argv[1] = -d
argv[2] = /home/virtualmail/marinar.com/spam_admin/spambayes.db
domain_spambayes transport entered
direct command:
argv[0] = /usr/local/exim/bin/exim
argv[1] = -oMr
argv[2] = domain_spambayes
argv[3] = -bS
direct command after expansion:
argv[0] = /usr/local/exim/bin/exim
argv[1] = -oMr
argv[2] = domain_spambayes
argv[3] = -bS
set_process_info: 21407 reading output from |/usr/local/exim/bin/exim -oMr domai
n_spambayes -bS
Writing message to pipe
writing data block fd=9 size=0 timeout=3600
writing data block fd=9 size=41 timeout=3600
writing data block fd=9 size=32 timeout=3600
writing data block fd=9 size=5 timeout=3600
process 21409 running as transport filter: write=10 read=11
process 21410 writing to transport filter
copying from the filter
writing data block fd=10 size=2383 timeout=3600
waiting for filter process
filter process returned 1
waiting for writing process
end of filtering transport writing: yield=0
errno=-24 more_errno=1
search_tidyup called
domain_spambayes transport returned PANIC for christine@???
post-process christine@??? (9)
LOG: MAIN PANIC
== christine@??? R=domain_spambayes T=domain_spambayes defer
(-24): Filter process failure >>>>>>>>>>>>>>>> deliveries are done >>>>>>>>>>>>>>>>