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