======================================= spamassassin -P -t -D < spam.example ======================================= # 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. =======================================