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".
Note that DNS and other network lookups are launched when SA reaches priority -100. If you want to
shortcircuit scanning before any network queries are sent, you need to set lower than -100 priority
to any such rule, like -200 as in the examples below.
Shortcircuited test will be automatically set to priority -200, but only if the original priority is
unchanged at default 0.
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 -200
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 -200. In
other words, equivalent to:
shortcircuit TEST on
priority TEST -200
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
-200. In other words, equivalent to:
shortcircuit TEST on
priority TEST -200
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.
shortcircuit_min_ham_score n.nn (default: undef)
When shortcircuit_min_ham_score is set, SpamAssassin will stop processing when total score will be
lower then this value.
shortcircuit_max_spam_score n.nn (default: undef)
When shortcircuit_max_spam_score is set, SpamAssassin will stop processing when total score will be
higher then this value.