[prev in list] [next in list] [prev in thread] [next in thread] 

List:       amavis-user
Subject:    Question about quarantaine
From:       Richard Smits <R.Smits () tudelft ! nl>
Date:       2016-11-30 12:29:35
Message-ID: 2a331526-ab0f-80ee-021e-34de28712ec1 () tudelft ! nl
[Download RAW message or body]

Hello,

I have a question about a piece of quarantaine code in an Amavis config 
file. Please see below :

----------------------------------------------------------------
package Amavis::Custom;
use strict;

BEGIN {
    import Amavis::Conf qw(:platform :confvars c cr ca);
}

# invoked at child process creation time;
# return an object, or just undef when custom checks are not needed
sub new {
    my($class,$conn,$msginfo) = @_;
    my($self) = bless {}, $class;
    my($xspam) = $msginfo->get_header_field_body('X-Spam-Flag',0);
    my($cl_ip) = $msginfo->client_addr;
    my(@myisp) = qw( x.x.x.x/27 );

# Check if our isp is the mta
if ($cl_ip ne '' &&  Amavis::Lookup::IP::lookup_ip_acl($cl_ip,\@myisp)) {
      if ($xspam =~ /^[ \t]YES/) {
        $msginfo->add_contents_category(CC_SPAM,0);
        for my $r (@{$msginfo->per_recip_data}) {
        $r->add_contents_category(CC_SPAM,0);
        $r->bypass_spam_checks(1);
        # QUARANTINE CODE HERE ?????
        }
      }
# Our isp mta but no X-Spam-Flag
        for my $r (@{$msginfo->per_recip_data}) {
        $r->bypass_spam_checks(1);
}
}
    $self;  # returning an object activates further callbacks,
            # returning undef disables them
}
1;  # insure a defined return
-----------------------------------------

The reason i have this code is that we want to skip spamscanning by 
spamassassin if the mail comes from : x.x.x.x and/or has come from a 
trusted MTA, then don't do any spamscanning.
But we want to quarantine those messages as well. So my question is, 
what is the right code for this ?

I am looking into the Amavis perl module but is very large.

Greetings, Richard.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic