.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Mail::SpamAssassin::Plugin::AutoLearnThreshold 3pm" .TH Mail::SpamAssassin::Plugin::AutoLearnThreshold 3pm "2021-03-26" "perl v5.28.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Mail::SpamAssassin::Plugin::AutoLearnThreshold \- threshold\-based discriminator for Bayes auto\-learning .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This plugin implements the threshold-based auto-learning discriminator for SpamAssassin's Bayes subsystem. Auto-learning is a mechanism whereby high-scoring mails (or low-scoring mails, for non-spam) are fed into its learning systems without user intervention, during scanning. .PP Note that certain tests are ignored when determining whether a message should be trained upon: .IP "\(bu" 4 rules with tflags set to 'learn' (the Bayesian rules) .IP "\(bu" 4 rules with tflags set to 'userconf' (user configuration) .IP "\(bu" 4 rules with tflags set to 'noautolearn' .PP Also note that auto-learning occurs using scores from either scoreset 0 or 1, depending on what scoreset is used during message check. It is likely that the message check and auto-learn scores will be different. .SH "USER OPTIONS" .IX Header "USER OPTIONS" The following configuration settings are used to control auto-learning: .IP "bayes_auto_learn_threshold_nonspam n.nn (default: 0.1)" 4 .IX Item "bayes_auto_learn_threshold_nonspam n.nn (default: 0.1)" The score threshold below which a mail has to score, to be fed into SpamAssassin's learning systems automatically as a non-spam message. .IP "bayes_auto_learn_threshold_spam n.nn (default: 12.0)" 4 .IX Item "bayes_auto_learn_threshold_spam n.nn (default: 12.0)" The score threshold above which a mail has to score, to be fed into SpamAssassin's learning systems automatically as a spam message. .Sp Note: SpamAssassin requires at least 3 points from the header, and 3 points from the body to auto-learn as spam. Therefore, the minimum working value for this option is 6. .Sp If the test option autolearn_force is set, the minimum value will remain at 6 points but there is no requirement that the points come from body and header rules. This option is useful for autolearning with rules that are considered to be extremely safe indicators of the spaminess of a message. .IP "bayes_auto_learn_on_error (0 | 1) (default: 0)" 4 .IX Item "bayes_auto_learn_on_error (0 | 1) (default: 0)" With \f(CW\*(C`bayes_auto_learn_on_error\*(C'\fR off, autolearning will be performed even if bayes classifier already agrees with the new classification (i.e. yielded \s-1BAYES_00\s0 for what we are now trying to teach it as ham, or yielded \&\s-1BAYES_99\s0 for spam). This is a traditional setting, the default was chosen to retain backward compatibility. .Sp With \f(CW\*(C`bayes_auto_learn_on_error\*(C'\fR turned on, autolearning will be performed only when a bayes classifier had a different opinion from what the autolearner is now trying to teach it (i.e. it made an error in judgement). This strategy may or may not produce better future classifications, but usually works very well, while also preventing unnecessary overlearning and slows down database growth.