Mail::...Razor2(3pm)
π NAME π
Mail::SpamAssassin::Plugin::Razor2 β bestie, this one does the Razor check on your messages. That's it. That's the job. β¨
π SYNOPSIS π
loadplugin Mail::SpamAssassin::Plugin::Razor2
One line. Chef's kiss. Load it and go. π
π¦ DESCRIPTION π¦
Okay so picture this: Vipul's Razor is a distributed, collaborative spam detection and filtering network, and it runs entirely on users submitting their spam. Yep β the girlies are all pitching in. πββοΈ
The detection bit works with signatures, and those signatures are really good at catching spam content that keeps mutating on you (you know the type β changes one character and thinks we won't notice π). And the user input? It gets validated through reputation assignments. Main character energy for your inbox honestly.
Want the whole lore? Go peek at http://razor.sourceforge.net/ for more tea about Razor. π«
β DEPENDENCIES β
Razor2 is not gonna work without the Razor2::Client::Agent Perl module installed. That's the whole vibe check right there. Install it or it's giving nothing. π
π RULE DEFINITIONS π
So here's how the magic happens: Razor2 calculates a signature for each part of a multipart message, then compares all those signatures against a database of known spam signatures. π
The server comes back with a confidence value (0-100) for every single part of the message. And then β this is the good part β the part with the highest confidence value becomes the confidence value for the whole message. Winner takes all, periodt. π
The following eval rules are provided by this plugin:
full RULENAME eval:check_razor2()
Returns true if the confidence value of the message is greater than or equal to min_cf as defined in the Razor2 configuration file 'razor-agent.conf(1)'.
full RULENAME eval:check_razor2_range(<engine>,<min>,<max>)
<engine>β Engine number (4, 8 or '')<min>β Minimum confidence value (0-100)<max>β Maximum confidence value (0-100)
Returns true if the spam confidence value for the message is greater than or equal to <min> and less than or equal to <max>. If <engine> is not specified, the engine with the highest confidence value is used. No engine? We just pick the overachiever. π
π USER SETTINGS π
use_razor2 (0|1)β (default: 1) Whether to use Razor2, if it is available.
π ADMINISTRATOR SETTINGS π
razor_fork (0|1)β (default: 1) Instead of running Razor2 synchronously, fork separate process for it and read the results in later (similar to async DNS lookups). Increases throughput. Considered experimental on Windows, where default is 0. So Windows besties get the 0 treatment, no cap. πrazor_timeout nβ (default: 5) How many seconds you wait for Razor to complete before you go on without the results. Five seconds and then we're moving ON. β°razor_config filenameβ Define the filename used to store Razor's configuration settings. Currently this is left to Razor to decide. We're not micromanaging her, she knows what she's doing. β¨
Heads up bestie:razor_forkis considered experimental on Windows, which is exactly why the default flips to0there. Don't come for me, it's in the docs. π
and that's a wrap, babe π This page is from perl v5.40.1, dated 2026-07-23, and it's the Mail::...Razor2(3pm) manpage β scream it, love it, read it again. Mwah. ππ¦π
π¦ where this page comes from
- ubuntu stonking: spamassassin 4.0.2+svn1935691-1build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms