Adam Katz wrote:
Is there a way to set the bayes auto-learn thresholds to ignore the score
modifications from bayes and whitelists?  It seems silly to teach SA that
a spam whose only flag was BAYES_20 is ham, or that spam from a
whitelisted friend's virus-infected computer is ham.

(Maybe this is done already?  I don't see mention of this on the wiki or
list archives.)

Running "grep noautolearn /usr/share/spamassassin/*" returns the list of tests with noautolearn set.

GTUBE
AWL
USER_IN_BLACKLIST
USER_IN_WHITELIST
USER_IN_DEF_WHITELIST
USER_IN_BLACKLIST_TO
USER_IN_WHITELIST_TO
USER_IN_MORE_SPAM_TO
USER_IN_ALL_SPAM_TO
USER_IN_DKIM_WHITELIST
USER_IN_DEF_DKIM_WL
ENV_AND_HDR_DKIM_MATCH
USER_IN_SPF_WHITELIST
USER_IN_DEF_SPF_WL
ENV_AND_HDR_SPF_MATCH
SUBJECT_IN_WHITELIST
SUBJECT_IN_BLACKLIST

No Bayes in this list. If your bayes database is well trained, then I don't see why it shouldn't be used to determine and train more spam or ham.

My current workaround is to set USER_IN_WHITELIST to the same value as
BAYES_00 and set large thresholds like:
  bayes_auto_learn_threshold_nonspam = [0 - 5 - BAYES_00]
  bayes_auto_learn_threshold_spam = [required_score + 5 + BAYES_99]
(I see no reason to auto-train within five points of the 0-required_score
range)

I would love to not have to worry about the whitelist or bayes scores when
auto-learning.

My proposal is to ignore bayesian scores in determining auto-learn
threshold and give an option (like "bayes_auto_learn_ignores_whitelist 1")
to ignore the whitelist altogether (conceivably, it doesn't matter --
that's its purpose, after all).

I suspect this has been debated and decided in the past, but if you want to disable autolearn for specific rules, then add noautolearn to the tflags line:

/usr/share/spamassassin/23_bayes.cf
tflags BAYES_00         nice learn noautolearn
tflags BAYES_05         nice learn noautolearn
tflags BAYES_20         nice learn noautolearn
tflags BAYES_40         nice learn noautolearn
tflags BAYES_50         learn noautolearn
tflags BAYES_60         learn noautolearn
tflags BAYES_80         learn noautolearn
tflags BAYES_95         learn noautolearn
tflags BAYES_99         learn noautolearn


--
Chris

Reply via email to