/usr/share/perl5/Mail/Box/Search/SpamAssassin.pm is in libmail-box-perl 2.099-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | # Copyrights 2001-2011 by Mark Overmeer.
# For other contributors see ChangeLog.
# See the manual pages for details on the licensing terms.
# Pod stripped from pm file by OODoc 2.00.
package Mail::Box::Search::SpamAssassin;
use vars '$VERSION';
$VERSION = '2.099';
use base 'Mail::Box::Search';
use strict;
use warnings;
use Mail::SpamAssassin;
use Mail::Message::Wrapper::SpamAssassin;
#-------------------------------------------
sub init($)
{ my ($self, $args) = @_;
$args->{in} ||= 'MESSAGE';
$args->{label} = 'spam' unless exists $args->{label};
$self->SUPER::init($args);
$self->{MBSS_rewrite_mail}
= defined $args->{rewrite_mail} ? $args->{rewrite_mail} : 1;
$self->{MBSS_sa}
= defined $args->{spamassassin} ? $args->{spamassassin}
: Mail::SpamAssassin->new($args->{sa_options} || {});
$self;
}
#-------------------------------------------
sub assassinator() { shift->{MBSS_sa} }
#-------------------------------------------
sub searchPart($)
{ my ($self, $message) = @_;
my @details = (message => $message);
my $sa = Mail::Message::Wrapper::SpamAssassin->new($message)
or return;
my $status = $self->assassinator->check($sa);
my $is_spam = $status->is_spam;
$status->rewrite_mail if $self->{MBSS_rewrite_mail};
if($is_spam)
{ my $deliver = $self->{MBS_deliver};
$deliver->( {@details, status => $status} ) if defined $deliver;
}
$is_spam;
}
#-------------------------------------------
sub inHead(@) {shift->notImplemented}
#-------------------------------------------
sub inBody(@) {shift->notImplemented}
#-------------------------------------------
1;
|