In order for SpamAssassin to be accurate, you must train it on your specific mail patterns. SpamAssassin has a Bayesian classifier that can be used to help refine the classification of spam mail. The sa-learn interface allows you to train SpamAssassin to recognize good mail and junk mail. You need to train with both spam and ham mails. One type of mail alone will not have any effect.
To filter for spam:- Save spam into a new mail folder called Spam
- Save non-spam (ham) into a new folder called Ham. You may also put messages that were marked as spam by mistake into this folder.
If you're having trouble with Bayes,
see BayesFaq for help.https://cwiki.apache.org/confluence/display/SPAMASSASSIN/BayesFaqSpamassassin Default configuration:# vi /etc/mail/spamassassin/local.cf
required_hits 5
report_safe 0
#required_score 5
rewrite_header Subject [SPAM]
Explanation:Required_hits 5 is for small mail serv. You can increase it more if you need
Report_safe is on 0 here, but you can change to 1 or 2 ( see spamassassin guides )
Rewrite_header we call it ***SPAM*** here, you can call it as you want
Required_score can set form 0 -> 5 depends what you need
Configure the Bayesian classifier in Spamassassin:# vi /etc/mail/spamassassin/local.cf
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
bayes_path /etc/mail/spamassassin/bayes/
bayes_file_mode 0660
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
include /usr/share/spamassassin/
Restart & Update Spamassassin rules# systemctl restart spamassassin
# sa-update
Check Spamassassin status# systemctl status spamassassin
![](https://1.bp.blogspot.com/-7iYExySeMeQ/XmS-iz5wQaI/AAAAAAAAFnc/9fsOjdtsX6U-7-wD0w4xe7eWvETPLw4FACLcBGAsYHQ/s640/spamassassin.png)
If you get the above error that marked in snapshot , just disable the line
(bayes_path) in
/etc/mail/spamassassin/local.cf , It will use the default bayes_path .
#bayes_path /etc/mail/spamassassin/bayes/
Just create new bayes databases# sa-learn --sync
# sa-learn -p /etc/mail/spamassassin/local.conf --sync
Copy the existing bayes databases to Spamassassin Bayes directory:# cp /root/.spamassassin/bayes_* /etc/mail/spamassassin/bayes/
Details with Troubleshooting :How to Integrate Bayesian classifier in Spamassassin on CentOS Web Panel?