Ceci est une ancienne révision du document !
Analyser la fréquence des tests spamassassin
Pour améliorer le filtrage des spam avec spamassassin, il faut pouvoir ajuster le score des tests qui déclenchent le plus souvent sur les mails non filtrés. Il suffit alors de placer tous les spams loupés par spamassassin (qui tombent donc dans votre INBOX) dans un dossier particulier de votre boite mail, puis lancer un petit script qui va analyser tout ça:
- parse_sa_tests.pl
use Email::Simple; opendir DIR, $ARGV[0]; my @files = grep { $_ !~ /^\./ } readdir(DIR); closedir DIR; $/=undef; my %occ; foreach my $file (@files){ open FILE, $file; my $content = <FILE>; close FILE; my $mail = Email::Simple->new($content); my $spam = $mail->header("X-Spam-Status"); $spam =~ m/tests=(.*)/; my @tests = split /,/, $1; foreach my $test (@tests){ $occ{$test}++; } } foreach my $test (sort { $occ{$a} <=> $occ{$b} } keys %occ){ print "$test: $occ{$test}\n"; }
On lance maintnant ce script en donnant notre répertoire comme argument, exemple:
cd ~dani/Maildir/.INBOX.missed_spam/cur perl ~dani/parse_sa_tests.pl ./
Le résultat devrait ressembler à quelque chose comme ça:
T_HTML_ATTACH: 10 SUBJ_ILLEGAL_CHARS: 10 HTML_FONT_LOW_CONTRAST: 10 MISSING_MID: 11 RAZOR2_CF_RANGE_E8_51_100: 11 RAZOR2_CF_RANGE_51_100: 11 RDNS_NONE: 11 RCVD_IN_DNSWL_LOW: 11 USER_IN_DEF_DKIM_WL: 12 TRACKER_ID: 12 HTML_IMAGE_ONLY_24: 13 PYZOR_CHECK: 16 T_FRT_ADULT2: 19 HTML_FONT_FACE_BAD: 19 HTML_FONT_SIZE_LARGE: 20 HTML_MIME_NO_HTML_TAG: 22 SUBJECT_NEEDS_ENCODING: 25 MIME_HTML_MOSTLY: 25 T_FRT_PROFILE1: 25 FSL_HELO_BARE_IP_2: 26 HTML_IMAGE_ONLY_28: 27 MSGID_FROM_MTA_HEADER: 28 URIBL_JP_SURBL: 28 RCVD_IN_BRBL_LASTEXT: 31 SPF_NEUTRAL: 31 LOTS_OF_MONEY: 38 RAZOR2_CHECK: 39 URIBL_GREY: 41 BAYES_50: 42 HTML_IMAGE_RATIO_08: 44 SPF_HELO_FAIL: 44 HTML_IMAGE_RATIO_06: 51 FREEMAIL_FROM: 56 MIME_QP_LONG_LINE: 63 SPF_SOFTFAIL: 95 SPF_FAIL: 95 RCVD_IN_DNSWL_NONE: 97 T_DKIM_INVALID: 100 MPART_ALT_DIFF: 106 T_REMOTE_IMAGE: 108 HTML_IMAGE_RATIO_04: 115 SPF_HELO_PASS: 132 URIBL_BLACK: 133 MIME_HTML_ONLY: 154 HTML_IMAGE_RATIO_02: 166 T_KHOP_FOREIGN_CLICK: 177 DKIM_VALID_AU: 182 RP_MATCHES_RCVD: 243 DKIM_VALID: 282 SPF_PASS: 333 DKIM_SIGNED: 385 HTML_MESSAGE: 796