[Exim] Exim 3 and Spamassassin Problem

Top Page
Delete this message
Reply to this message
Author: Leigh Dodd
Date:  
To: exim-users
Subject: [Exim] Exim 3 and Spamassassin Problem
Hi

I'm trying to get Spamassassin 2.44 to work with Exim 3.22 and have hit
a problem

I've edited the configure file as per the spamassassin site and I get a
pipe error (See below)

Feb 12 14:15:39 drake exim[16222]: [1\2] 2003-02-12 14:15:39 Exim
configuration error
Feb 12 14:15:39 drake exim[16222]: [2/2] director spamcheck: cannot
find director driver "pipe" in line 239

The configure file has Spam transport code placed at the bottom and at
the TOP of the Director area (See Below)

The line "driver = pipe" is used elsewhere in the transport area so I
can't see any typo.

Can anyone help ?

BTW. Which option(s) do I use to test out the configuration file with
exim without actually replacing the main config file (Only have one mail
server) ?

Thanks

Leigh

.
.
.
######################################################################
#                      TRANSPORTS CONFIGURATION                      #
######################################################################
#                       ORDER DOES NOT MATTER                        #
#     Only one appropriate transport is called for each delivery.    #
######################################################################


# A transport is used only when referenced from a director or a router
that
# successfully handles an address.

# This transport is used for delivering messages over SMTP connections.

remote_smtp:
driver = smtp

# This transport is used for local delivery to user mailboxes in
traditional
# BSD mailbox format. By default it will be run under the uid and gid of
the
# local user, and requires the sticky bit to be set on the /var/mail
directory.
# Some systems use the alternative approach of running mail deliveries
under a
# particular group instead of using the sticky bit. The commented
options below
# show how this can be done.

local_delivery:
driver = appendfile
file = MAILBOX_DIR/${local_part}
delivery_date_add
envelope_to_add
return_path_add
# group = mail
# mode = 0660

# This transport is used for handling pipe deliveries generated by alias
# or .forward files. If the pipe generates any standard output, it is
returned
# to the sender of the message as a delivery error. Set
return_fail_output
# instead of return_output if you want this to happen only when the pipe
fails
# to complete normally. You can set different transports for aliases and
# forwards if you want to - see the references to address_pipe in the
directors
# section below.

address_pipe:
driver = pipe
return_fail_output

# This transport is used for handling deliveries directly to files that
are
# generated by aliassing or forwarding.

address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
user = daemon
mode = 0644

# This transport is a variant of address_file that does not specify user
# It is used in forwardfile to deliver to file archives out of a user's
# .forward using that user's euid, instead of daemon

address_file_from_forward:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
mode = 0664
mode_fail_narrower = false

# This transport is used for handling autoreplies generated by the
filtering
# option of the forwardfile director.

address_reply:
driver = autoreply


# Spam Assassin
spamcheck:
    driver = pipe
    command = /usr/local/exim/bin/exim -oMr spam-scanned -bS
    transport_filter = /opt/spamassassin/bin/spamc
    bsmtp = all
    home_directory = "/tmp"
    current_directory = "/tmp"
    # must use a privileged user to set $received_protocol on the way
back in!
    user = exim
    group = exim
    return_path_add = false
    log_output = true
    return_fail_output = true
    prefix =
    suffix =


######################################################################
#                      DIRECTORS CONFIGURATION                       #
#             Specifies how local addresses are handled              #
######################################################################
#                          ORDER DOES MATTER                         #
#   A local address is passed to each in turn until it is accepted.  #
######################################################################


# Spam Assassin
spamcheck_director:

    # do not use this director when verifying a local-part at SMTP-time
    no_verify


    # When to scan a message :
    #   -   it isn't already flagged as spam
    #   -   it isn't already scanned
    #   -   it didn't originate locally (as long as I don't harbor
spammers :-))
    condition = "${if and { {!def:h_X-Spam-Flag:} {!eq
{$received_protocol}{spam-scanned}} {!eq {$received_protocol}{local}} }
{1}{0}}"
    driver = smartuser
    transport = spamcheck


# Local addresses are those with a domain that matches some item in the
# "local_domains" setting above, or those which are passed back from the
# routers because of a "self=local" setting (not used in this
configuration).

# Map official names to user names. Must not rewrite the result
# as the rewriting rules map them back into official names....
official_names:
driver = aliasfile
file = /usr/local/exim/official_names
search_type = lsearch
user = exim
file_transport = address_file
pipe_transport = address_pipe
no_rewrite
.
.
.
..etc