X-Git-Url: http://git.jankratochvil.net/?p=PerlMail.git;a=blobdiff_plain;f=My-Audit.pm;h=d6e924f3bef6b2630be38e89caf142ba1b4a0a38;hp=9f02c7091abb15372bcc93126493bf3a8c66b4bb;hb=206d8f4f6714bda936e97ee55933aa3b15e1dd20;hpb=9f5eb0e159a8e41d303be37d0812a7caa1868887 diff --git a/My-Audit.pm b/My-Audit.pm index 9f02c70..d6e924f 100644 --- a/My-Audit.pm +++ b/My-Audit.pm @@ -22,7 +22,7 @@ sub audit_init @alternates_host=( "jabberwock.ucw.cz", # short@ucw.cz "atrey.karlin.mff.cuni.cz", # short@atrey.karlin.mff.cuni.cz - "k332.feld.cvut.cz", # k332.feld.cvut.cz + "k332.feld.cvut.cz", # short@k332.feld.cvut.cz ); } @@ -39,18 +39,6 @@ sub audit || headerhas "From",'' ); - # spam detection - return if did sub { - local $store_profile="silent"; - local $_; - store "=spam-abuse" .";$_","log" if $_=dnsbl '.blackholes.mail-abuse.org.' ,1; # all hosts - # we don't check all hosts as they can be "dialup" category, FIXME: check for it - store "=spam-five" .";$_","log" if $_=dnsbl '.blackholes.five-ten-sg.com.',0; # just first - store "=spam-razor".($_ eq 1 ? "" : ";$_") if $_=razor2(); - # I don't send viruses but viruses propagate mails of mine - store "=spam-av" if headeris "X-Mailer",'ravmd/8.3.2'; - }; - # spam honeypots return if did sub { local $_; @@ -60,6 +48,7 @@ sub audit store "=spamo" if headeris "From",''; store "=spamo" if headeris "From",''; store "=spamo" if headeris "From",''; + store "=spamo" if headeris "From",''; { # weak detection: files with text/html w/o text/plain are usually a spam my @types_linear=map({ mime_type($_); } parts_linear()); @@ -68,6 +57,18 @@ sub audit store "=spamo-big5" if ($_=mimehead(body_first())->mime_attr("Content-Type.charset")) && /^big5/i; }; + # spam detection + return if did sub { + local $store_profile="silent"; + local $_; + store "=spam-abuse" .";$_","log" if $_=dnsbl '.blackholes.mail-abuse.org.' ,1; # all hosts + # we don't check all hosts as they can be "dialup" category, FIXME: check for it + store "=spam-five" .";$_","log" if $_=dnsbl '.blackholes.five-ten-sg.com.',0; # just first + store "=spam-razor".($_ eq 1 ? "" : ";$_") if $_=razor2(); + # I don't send viruses but viruses propagate mails of mine + store "=spam-av" if headeris "X-Mailer",'ravmd/8.3.2'; + }; + # special delivery store "=err","bell" and return if headerhas \&Received_for,''; @@ -126,6 +127,7 @@ sub audit store "=ros","log" if headeris "List-Post",''; store "=roskernel","log" if headeris "List-Post",''; store "=roscvs","silent" if headeris "List-Post",''; + store "=rosbug","bell" if headeris "Reply-To" ,''; store "=fsd","log" if headeris "X-Mailing-List",''; store "=surprise","sms" if headeris "List-Post",''; store "=surprisesuse","sms" if headeris "Sender" ,''; @@ -143,6 +145,7 @@ sub audit store "=4c","sms" if headeris "List-Post",'<4cinfo@atrey.karlin.mff.cuni.cz>'; store "=slashdot","bell" if headeris "From" ,''; store "=freshmeat","bell" if headeris "From" ,''; + store "=sourceforge","bell" if headeris "From" ,''; store "=gsmperlcvs","silent" if headeris("From" ,'') && $Audit->subject()=~/^'.*' has been updated!$/; # own webs @@ -198,14 +201,15 @@ my(%args)=@_; # max. 9 lines of .sig s/\n-- (?:\n[^\n]*){0,9}$//gs; # "Original Message"/"Puvodni zprava" etc. up to empty line - s/(^|\n)[\s^\n]*-----[\w\s]*-----[\s^\n]*(?:\n[^\n]+)*\n{2,}(?:\s*[^>\s].*$)?/\n/gs; + # "- - - Original message: - - -" is by "Lotus Notes Release 5.0.5 September 22, 2000" + s/(^|\n)[\s^\n]*(?:-----[\w\s]*-----|- - - Original message: - - -)[\s^\n]*(?:\n[^\n]+)*\n{2,}(?:\s*[^>\s].*$)?/\n/gs; # Remove "..." lines (is it used by anyone except me?) s/^\Q...\E$/*/gm; # quoting "> " - s/^\s*[>][>\s]*.*$/*/gm; + s/^(?:\s*[[:upper:]]{0,3}>)+.*$/*/gm; s/(?:^|\n)(?:\*\n+)+/\n*\n/gs; # attributions - s/^.*\b(?:wrote|writes):\s*$//gm; + s/^.*\b(?:wrote|writes|napsal jste):\s*$//gm; my $body=$_; return [$from,"($subject)$body"];