Mail::SpamAssassin::Plugin::Shortcircuit - short-circuit evaluation for certain rules
loadplugin Mail::SpamAssassin::Plugin::Shortcircuit report Content analysis details: (_SCORE_ points, _REQD_ required, s/c _SCTYPE_) add_header all Status "_YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ shortcircuit=_SCTYPE_ autolearn=_AUTOLEARN_ version=_VERSION_"
This plugin implements simple, test-based shortcircuiting. Shortcircuiting a test will force all other pending rules to be skipped, if that test is hit.
Recomended usage is to use priority
to set rules with strong S/O values (ie.
1.0) to be run first, and make instant spam or ham classification based on
that.
The following configuration settings are used to control shortcircuiting:
Shortcircuiting a test will force all other pending rules to be skipped, if that test is hit.
Recomended usage is to use priority
to set rules with strong S/O values (ie.
1.0) to be run first, and make instant spam or ham classification based on
that.
To override a test that uses shortcircuiting, you can set the classification
type to off
.
Shortcircuits the rest of the tests, but does not make a strict classification of spam or ham. Rather, it uses the default score for the rule being shortcircuited. This would allow you, for example, to define a rule such as
body TEST /test/ describe TEST test rule that scores barely over spam threshold score TEST 5.5 priority TEST -100 shortcircuit TEST on
The result of a message hitting the above rule would be a final score of 5.5, as opposed to 100 (default) if it were classified as spam.
Shortcircuit the rule using a set of defaults; override the default score of
this rule with the score from shortcircuit_spam_score
, set the
noautolearn
tflag, and set priority to -100
. In other words,
equivalent to:
shortcircuit TEST on priority TEST -100 score TEST 100 tflags TEST noautolearn
Shortcircuit the rule using a set of defaults; override the default score of
this rule with the score from shortcircuit_ham_score
, set the noautolearn
and nice
tflags, and set priority to -100
. In other words, equivalent
to:
shortcircuit TEST on priority TEST -100 score TEST -100 tflags TEST noautolearn nice
When shortcircuit is used on a rule, and the shortcircuit classification type
is set to spam
, this value should be applied in place of the default score
for that rule.
When shortcircuit is used on a rule, and the shortcircuit classification type
is set to ham
, this value should be applied in place of the default score
for that rule.
The following tags are added to the set available for use in reports, headers etc.:
_SC_ shortcircuit status (classification and rule name) _SCRULE_ rulename that caused the shortcircuit _SCTYPE_ shortcircuit classification ("spam", "ham", "default", "none")
http://issues.apache.org/SpamAssassin/show_bug.cgi?id=3109