Re: [Exim] alternate config for Exim4 + Dspam-3.0

Top Page
Delete this message
Reply to this message
Author: Adam J. Henry
Date:  
To: exim-users
CC: Adam J. Henry
Subject: Re: [Exim] alternate config for Exim4 + Dspam-3.0
On Wed, Aug 18, 2004 at 10:43:43AM +0100, Philip Hazel wrote:
> 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?


Here is my configuration (the '\' are not in the real config):

dspam:
        driver = pipe
        command = /usr/local/exim/bin/exim -oMr ds -bS
        transport_filter = /usr/local/bin/dspam --stdout \
          --deliver=innocent,spam --mode=teft --feature=chained,noise \
          --user ${local_part}@${domain}
        use_bsmtp = true
        user = mail
        group = mail
        return_path_add = false
        log_fail_output = true
        log_defer_output = true
        temp_errors = *
        return_fail_output = true
        home_directory = "/tmp"
        current_directory = "/tmp"
        message_prefix = ""
        message_suffix = ""



> 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.


Thank you. I find tee to be very handy for this.

BTW, I got the problem solved. I used the workaround proposed by Tore
Anderson.