Shortcircuiting Ruleset
The following is a demonstration sample ruleset which uses the new SpamAssassin 3.2.0+ feature of short-circuiting, together with existing, reliable, hard-to-forge whitelist/blacklist rules, in order to reduce CPU load.
Give it a try if you like I use it on my own server with very good results: sc=spam messages finish in an average of 0.2 seconds, sc=ham avg 0.5, and the overall average is 20% less time spent scanning as a result. – JustinMason
For using this plugin, enable it in v320.pre file.
It assumes you have enabled the Shortcircuit plugin in the v320.pre file.
To use this ruleset, save it as shortcircuit.cf in the same folder as local.cf.
No Format |
---|
# Shortcircuit config - supplements 60_shortcircuit.cf
# see <https://wiki.apache.org/spamassassin/ShortcircuitingRuleset>
# |
No Format |
# Note that these rules use a variety of normally-optional plugins; you need to # enable the DK, DKIM, SPF, Shortcircuit, ClamAV, and VBounce plugins to use # them. ifplugin Mail::SpamAssassin::Plugin::Shortcircuit # always log shortcircuit status add_header all Status "_YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTS_ shortcircuit=_SCTYPE_ autolearn=_AUTOLEARN_ version=_VERSION_" # simple, non-network-based whitelists, locally-generated messages, # messages via a trusted relay chain meta SC_HAM (USER_IN_WHITELIST||USER_IN_DEF_WHITELIST||USER_IN_ALL_SPAM_TO||NO_RELAYS||ALL_TRUSTED) priority SC_HAM -1000 shortcircuit SC_HAM ham score SC_HAM -20 # simple, non-network based blacklists meta SC_SPAM (USER_IN_BLACKLIST_TO||USER_IN_BLACKLIST) priority SC_SPAM -950 shortcircuit SC_SPAM spam score SC_SPAM 20 # slower, network-based whitelisting meta SC_NET_HAM (USER_IN_DKIM_WHITELIST||USER_IN_DK_WHITELIST||USER_IN_SPF_WHITELIST||USER_IN_DEF_DK_WL||USER_IN_DEF_DKIM_WL||USER_IN_DEF_SPF_WL) priority SC_NET_HAM -500 shortcircuit SC_NET_HAM ham score SC_NET_HAM -20 # bounce messages from non-whitelisted relays: always ignored if the vbounce plugin is active unwanted, so treat as spam # (requires whitelist_bounce_relays to be set in local.cf) priority ANY_BOUNCE_MESSAGE -700 shortcircuit ANY_BOUNCE_MESSAGE spam score ANY_BOUNCE_MESSAGE 20 # ClamAV support: no need to scan viruses/malware priority CLAMAV -900 shortcircuit CLAMAV spam score CLAMAV 20 # add additional DK/SPF whitelists whitelist_from_dk *@gmail.com whitelist_from_spf *@gmail.com endif |