Advertisement
Guest User

Ivan Korotkov

a guest
Mar 15th, 2010
1,664
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.77 KB | None | 0 0
  1. package FromNotReturnPath;
  2.  
  3. use strict;
  4.  
  5. use Mail::SpamAssassin;
  6. use Mail::SpamAssassin::Plugin;
  7. our @ISA = qw(Mail::SpamAssassin::Plugin);
  8.  
  9.  
  10. sub new {
  11.     my ($class, $mailsa) = @_;
  12.     $class = ref($class) || $class;
  13.     my $self = $class->SUPER::new($mailsa);
  14.     bless ($self, $class);
  15.     $self->register_eval_rule('check_for_from_not_return_path');
  16.  
  17.     return $self;
  18. }
  19.  
  20.  
  21. # Often spam uses different From: and Return-path:
  22. # while most legitimate e-mails does not.
  23. sub check_for_from_not_return_path {
  24.     my ($self, $msg) = @_;
  25.  
  26.     my $from = $msg->get('From:addr');
  27.     my $returnPath = $msg->get('Return-path:addr');
  28.  
  29.     #Mail::SpamAssassin::Plugin::info("FromNotReturnPath: Comparing '$from'/'$returnPath'");
  30.  
  31.     if ($from ne '' && $returnPath ne '' && $from ne $returnPath) {
  32.         return 1;
  33.     }
  34.  
  35.     return 0;
  36. }
  37.  
  38. 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement