On Fri, 2013-06-14 at 16:37 -0400, Alex wrote: > > The rules definitely exist on my system. I wonder if there's some > > difference between running spamassassin manually on the message versus > > running spamd. The message I pasted was run through spamc/spamd. Is there > > something that I've misconfigured that might cause spamd to run differently > > and skip some tests, that spamassassin would manually pick up? >
In any case that's easy to fix. For starters, keep your test message collection on another box and use it the develop and test rules before putting them live. You run spamd on this and replace the MTA with a script that can pass test messages in using spamc, Its logic needs to be something like this: # start spamd for m in $* do echo "====== starting $m ======" spamc <$f | grep '^X-Spam' echo "====== end of $m ======" done # stop spamd grep is there so you just see the headers added by SA. You should also clean messages by removing headers that start with 'X-Spam' before you add them to your collection - having old SA headers in the collection is just confusing. At least, this is how my test system is organised, along with scripts to starting, stopping and checking the status of spamd. I also have scripts to run spamassassin in --lint -D mode to check for rule errors, to clean SA headers out of newly collected messages and to export configuration file sets to the live system and restart it so the new rules will take effect. HTH Martin