The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mail::SpamAssassin::Plugin::Shortcircuit - short-circuit evaluation for certain rules

SYNOPSIS

  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_"

DESCRIPTION

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.

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.

CONFIGURATION SETTINGS

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.

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.

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.

TAGS

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")

SEE ALSO

http://issues.apache.org/SpamAssassin/show_bug.cgi?id=3109

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 78:

'=item' outside of any '=over'

Around line 221:

You forgot a '=back' before '=head1'