Note that M::SA methods work nicely with M::A objects.#!/usr/bin/perl # # A cutsom filter to process my email use Mail::Audit; open LOG, ">>/home/kvale/.audit_log"; print LOG localtime() . ": "; my $item = Mail::Audit->new( nomime => 1 ); my $subject = $item->subject(); if ($item->subject =~ /\[SPAM\s+\?\]/i) { print LOG "phy spam: $subject\n"; $item->print_out(); } use Mail::SpamAssassin; my $mail = Mail::SpamAssassin->new(); my $status = $mail->check( $item ); if ($status->is_spam()) { $item->replace_header( subject => '***SPAM***' . $subject); my @report = split /\n/, $status->get_report(); shift @report until $report[0] =~ /^Content analysis/; print LOG "SA Spam: $subject\n", join "\n", @report, "\n"; $item->print_out(); } print LOG "OK: $subject\n"; $item->print_out();
It is not true that new tests cannot be written into SpamAssassin. Look in the rules directory for info, write some yourself, and put them in your .cf file. If your rules need more than the builtin methods can offer, it is pretty simple add your own module with the custom code. If you don't want to do that much hacking, SA 3.0.0 will have a plugin framework for these sorts of expansion needs.
-Mark
In reply to Re: Using Mail::Audit and Mail::SpamAssassin together
by kvale
in thread Using Mail::Audit and Mail::SpamAssassin together
by Corion
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |