Re: [Exim] RE: previous post

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Stian Grytoyr
Ημερομηνία:  
Προς: Dj Statik
Υ/ο: exim-users
Αντικείμενο: Re: [Exim] RE: previous post
"Dj Statik" <djstatik@???> writes:

| 1. pass all incoming email through spamassassin to check
| if it's junk mail and if so spamassassin attaches
| appropriate headers.


I just set this up yesterday on Exim 4.02, and it seems to
work ok. Here's what I did:

In the routers section:
  # Spam Assassin
  spamcheck_router:
    no_verify
    check_local_user
    # When to scan a message :
    #   -   it isn't already flagged as spam
    #   -   it isn't already scanned
    require_files = ${local_part}:+${home}/.spamassassin/user_prefs
    condition = "${if and { {!def:h_X-Spam-Flag:} {!eq {$received_protocol}{spam-scanned}}} {1}{0}}"
    driver = accept
    transport = spamcheck


Note that this router was placed just before my existing
local routers. Also, my users have to opt-in by making sure
that the file ~/.spamassassin/user_prefs exists. It can be
empty or it can contain directives.

And in the transports section:
  # Spam Assassin
  spamcheck:
    driver = pipe
    command = /opt/exim/bin/exim -oMr spam-scanned -bS
    use_bsmtp = true
    transport_filter = /local/scripts/spamc -u $local_part
    home_directory = "/tmp"
    current_directory = "/tmp"
    # must use a privileged user to set $received_protocol on the way back in!
    user = exim
    log_output = true
    return_fail_output = true
    return_path_add = false
    message_prefix =
    message_suffix =


This requires that spamd is running. I use -u $local_part to
make spamc run as the user, so that they can put directives
to SpamAssassin in their personal config file. It works like
a charm!

--
Stian Grytoyr