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:
- shortcircuit SYMBOLIC_TEST_NAME {ham|spam|on|off}
- 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".
- on
- 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.
- off
- Disables shortcircuiting on said rule.
- 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
- ham
- 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
- shortcircuit_spam_score n.nn (default: 100)
- 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.
- shortcircuit_ham_score n.nn (default: -100)
- 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"