X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Flib%2FRT%2FInterface%2FEmail%2FFilter%2FSpamAssassin.pm;h=c552d76e69fd67530f90d8240c7d165d7cd3110e;hp=8c9eae88cd83c7a5344e3e8709178c5bc4163923;hb=673b9a458d9138523026963df6fa3b4683e09bae;hpb=d39d52aac8f38ea9115628039f0df5aa3ac826de diff --git a/rt/lib/RT/Interface/Email/Filter/SpamAssassin.pm b/rt/lib/RT/Interface/Email/Filter/SpamAssassin.pm index 8c9eae88c..c552d76e6 100644 --- a/rt/lib/RT/Interface/Email/Filter/SpamAssassin.pm +++ b/rt/lib/RT/Interface/Email/Filter/SpamAssassin.pm @@ -1,8 +1,8 @@ -# {{{ BEGIN BPS TAGGED BLOCK +# BEGIN BPS TAGGED BLOCK {{{ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -42,22 +42,31 @@ # works based on those contributions, and sublicense and distribute # those contributions and any derivatives thereof. # -# }}} END BPS TAGGED BLOCK +# END BPS TAGGED BLOCK }}} package RT::Interface::Email::Filter::SpamAssassin; use Mail::SpamAssassin; my $spamtest = Mail::SpamAssassin->new(); sub GetCurrentUser { - my $item = shift; - my $status = $spamtest->check ($item); - return (undef, 0) unless $status->is_spam(); + my %args = ( + Message => undef, + CurrentUser => undef, + AuthLevel => undef, + @_ + ); + my $status = $spamtest->check( $args{'Message'} ); + return ( $args{'CurrentUser'}, $args{'AuthLevel'} ) + unless $status->is_spam(); + eval { $status->rewrite_mail() }; - if ($status->get_hits > $status->get_required_hits()*1.5) { + if ( $status->get_hits > $status->get_required_hits() * 1.5 ) { + # Spammy indeed - return (undef, -1); + return ( $args{'CurrentUser'}, -1 ); } - return (undef, 0); + return ( $args{'CurrentUser'}, $args{'AuthLevel'} ); + } =head1 NAME