On Tue, 17 Aug 2004, Adam J. Henry wrote:
>> LOG: MAIN
>> <hank@???>: dspam transport output: An error was
>> detected while processing a file of BSMTP input.
>> LOG: MAIN
>> == hank@??? R=dspam T=dspam defer (0): Child
>> process of dspam transport returned 2 from command:
>> /usr/local/exim/bin/exim
>
> According to 42.12., Incoming batched SMTP "[...] writes a more verbose
> version, for human consumption, to the standard error file." Where is
> the standard error file?
If you are running exim as a pipe transport command (which it looks as
if you are), the standard error output goes to the same file descriptor
as the standard output. The text starts "An error was detected while
processing a file of BSMTP input." and is followed by further lines.
The problem here is that only the first line of output is being logged
because that's how stdout/stderr from pipe transports work.
Do you have return_output set on the pipe transport?
One way of finding out what is happening is to change the command just
to write the message to a file instead of passing it back to Exim. Then
you'll see what dspam has done to it.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book: http://www.uit.co.uk/exim-book