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. In addition, a symbolic rule, SHORTCIRCUIT
, will fire.
Recommended 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.
Recommended 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.
Disables shortcircuiting on said rule.
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