Can you run a test of a spammy message and send the results?
Use the following command
This will run the spam test against [message] and give you the gory results. There should be some information as to what the bayes classifier is doing.
[message] will be the name of a mail file, found in your (I'm still on v3

) /var/spool/MailScanner/quarantine/[date]/spam/ directory. just pick any of the files
For example, here are some of the results I get when I test a spammy message:
Code: Select all
Mar 12 16:03:25.232 [30820] dbg: plugin: loading Mail::SpamAssassin::Plugin::Bayes from @INC
...
Mar 12 16:03:25.459 [30820] dbg: config: fixed relative path: /var/lib/spamassassin/3.004001/updates_spamassassin_org/23_bayes.cf
Mar 12 16:03:25.459 [30820] dbg: config: using "/var/lib/spamassassin/3.004001/updates_spamassassin_org/23_bayes.cf" for included file
Mar 12 16:03:25.459 [30820] dbg: config: read file /var/lib/spamassassin/3.004001/updates_spamassassin_org/23_bayes.cf
...
Mar 12 16:03:27.667 [30820] dbg: plugin: Mail::SpamAssassin::Plugin::Bayes=HASH(0x4a1c5b0) implements 'learner_new', priority 0
Mar 12 16:03:27.667 [30820] dbg: plugin: Mail::SpamAssassin::Plugin::TxRep=HASH(0x4e193b8) implements 'learner_new', priority 0
Mar 12 16:03:27.667 [30820] dbg: bayes: learner_new self=Mail::SpamAssassin::Plugin::Bayes=HASH(0x4a1c5b0), bayes_store_module=Mail::SpamAssassin::BayesStore::SQL
Mar 12 16:03:27.705 [30820] dbg: bayes: using username: mailwatch
Mar 12 16:03:27.705 [30820] dbg: bayes: learner_new: got store=Mail::SpamAssassin::BayesStore::SQL=HASH(0x517e4b0)
Mar 12 16:03:27.705 [30820] dbg: plugin: Mail::SpamAssassin::Plugin::Bayes=HASH(0x4a1c5b0) implements 'learner_is_scan_available', priority 0
Mar 12 16:03:27.797 [30820] dbg: bayes: database connection established
Mar 12 16:03:27.798 [30820] dbg: bayes: found bayes db version 3
Mar 12 16:03:27.798 [30820] dbg: bayes: Using userid: 1
...
Mar 12 16:03:28.037 [30820] dbg: bayes: corpus size: nspam = 46728, nham = 203831
Mar 12 16:03:28.041 [30820] dbg: bayes: tokenized body: 415 tokens
Mar 12 16:03:28.042 [30820] dbg: bayes: tokenized uri: 75 tokens
Mar 12 16:03:28.042 [30820] dbg: bayes: tokenized invisible: 16 tokens
Mar 12 16:03:28.047 [30820] dbg: bayes: tokenized header: 217 tokens
Mar 12 16:03:28.050 [30820] dbg: bayes: tok_get_all: token count: 456
Mar 12 16:03:28.060 [30820] dbg: bayes: score = 0.999783199575169
Mar 12 16:03:28.063 [30820] dbg: check: tagrun - tag BAYESTCHAMMY is now ready, value: 20
Mar 12 16:03:28.063 [30820] dbg: check: tagrun - tag BAYESTCSPAMMY is now ready, value: 103
Mar 12 16:03:28.063 [30820] dbg: check: tagrun - tag BAYESTCLEARNED is now ready, value: 267
Mar 12 16:03:28.063 [30820] dbg: check: tagrun - tag BAYESTC is now ready, value: 456
Mar 12 16:03:28.063 [30820] dbg: check: tagrun - tag HAMMYTOKENS is now ready, value: CODE(0x39a84b0)
Mar 12 16:03:28.063 [30820] dbg: check: tagrun - tag SPAMMYTOKENS is now ready, value: CODE(0x579b128)
Mar 12 16:03:28.063 [30820] dbg: check: tagrun - tag TOKENSUMMARY is now ready, value: CODE(0x4a5e728)
Mar 12 16:03:28.064 [30820] dbg: rules: ran eval rule BAYES_99 ======> got hit (1)
Mar 12 16:03:28.065 [30820] dbg: rules: ran eval rule BAYES_999 ======> got hit (1)
...
Mar 12 16:03:38.981 [30820] dbg: check: tests=BAYES_99,BAYES_999,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HELO_MISC_IP,HTML_MESSAGE,KAM_NUMSUBJECT,ML_SPAM_HEADER_YES,ML_SPF_PASS,MPART_ALT_DIFF,MXPF_TEST,RCVD_IN_PSBL,RCVD_IN_RP_RNBL,RDNS_NONE,SPF_FAIL
...
Mar 12 16:03:38.998 [30820] dbg: timing: total 14141 ms - init: 2972 (21.0%), b_tie_ro: 93 (0.7%), parse: 5 (0.0%), extract_message_metadata: 107 (0.8%), get_uri_detail_list: 3.2 (0.0%), tests_pri_-1000: 55 (0.4%), compile_gen: 516 (3.6%), compile_eval: 92 (0.7%), tests_pri_-950: 7 (0.0%), tests_pri_-900: 7 (0.1%), tests_pri_-90: 40 (0.3%), check_bayes: 28 (0.2%), b_tokenize: 12 (0.1%), b_tok_get_all: 7 (0.0%), b_comp_prob: 3.9 (0.0%), b_tok_touch_all: 1.42 (0.0%), b_finish: 1.66 (0.0%), tests_pri_0: 2271 (16.1%), check_spf: 25 (0.2%), dkim_load_modules: 23 (0.2%), check_dkim_signature: 474 (3.4%), tests_pri_10: 297 (2.1%), check_dcc: 286 (2.0%), tests_pri_20: 3919 (27.7%), check_razor2: 3900 (27.6%), tests_pri_30: 4024 (28.5%), check_pyzor: 4007 (28.3%), tests_pri_500: 368 (2.6%), tests_pri_1000: 20 (0.1%)
...
Content analysis details: (11.5 points, 5.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
4.0 BAYES_99 BODY: Bayes spam probability is 99 to 100%
[score: 0.9998]
2.0 BAYES_999 BODY: Bayes spam probability is 99.9 to 100%
[score: 0.9998]
...