I've just been playing with the exim spamassassin config I have and made
an interesting change that might be useful to people.

This config is for an SA picking up all incoming mail, no per user
specials (because all mail goes through once and SA can't handle
multiple configs in a single pass).

The difference is that I push mail through a piped BSMTP transport with
spamc as a transport filter.   This overcomes all the problems of having
to have multi stage pipelines in a pipe transport, ensuring your quoting
is right (to prevent shell exploits), special casing bounces etc.

Anyhow, this is the transport and director.

  # in main config - add spamkill to trusted users
  trusted_users = "root:exim:spamkill"


  # in transports....
  # Spam Assassin
  spamcheck:
    driver = pipe
    command = /usr/sbin/exim -oMr spam-scanned -bS
    transport_filter = /usr/bin/spamc -s 500000
    home_directory = "/home/spamkill"
    current_directory = "/home/spamkill"
    # must use a privileged user to set $received_protocol on the way back in!
    user = spamkill
    group = spamkill
    log_output = true
    return_fail_output = true
    bsmtp = all
    return_path_add = false


  # in directors
  # Spam Assassin
  spamcheck_director:
    # 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}}} {1}{0}}"
    driver = smartuser
    transport = spamcheck


One other subtle point.  Your spamd must have the "-F 0" flag added to
stop it adding and messing around with From_ headers.

Hope this is of interest.

        Nigel.
-- 
[ Nigel Metheringham           [EMAIL PROTECTED] ]
[ - Comments in this message are my own and not ITO opinion/policy - ]


_______________________________________________
Spamassassin-talk mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/spamassassin-talk

Reply via email to