[EMAIL PROTECTED] wrote:

>Philip Prindeville wrote:
>  
>
>>Could we add an example of using envelope info?
>>    
>>
>
>SpamAssassin doesn't see the envelope.  Some MTAs add headers for 
>envelope-header and envelope-recipients (Return-Path:, X-Apparently-To:, etc.)
>
>If you're careful about how you call SpamAssassin you can fake envelope rules 
>using these headers.
>
>For example MIMEDefang adds the following headers prior to calling 
>SpamAssassin:
>
>Return-Path: (envelope-sender)
>Received: (sendmail-style)
>Apparently-To: (envelope-recipients)
>
>(in mimedefang.pl, sub spam_assassin_mail)
>
>    # Synthesize a "Return-Path" and "Received:" header
>    my @sahdrs;
>    push (@sahdrs, "Return-Path: $Sender\n");
>    push (@sahdrs, split(/^/m, synthesize_received_header()));
>    push (@sahdrs, gen_msgid_header()) if ($MessageID eq "NOQUEUE");
>    # Add To: header if one missing
>    if (open(IN, "<./HEADERS")) {
>        my $hto = grep { /^To:/i } <IN>;
>        close(IN);
>        push(@sahdrs, "To: undisclosed-recipients:;\n") unless $hto;
>    }
>
>    if ($AddApparentlyToForSpamAssassin and
>        ($#Recipients >= 0)) {
>        push(@sahdrs, "Apparently-To: " .
>             join(", ", @Recipients) . "\n");
>    }
>    unshift (@msg, @sahdrs);
>    my $sa_ver = Mail::SpamAssassin->VERSION();
>    # Only keep major version number
>    $sa_ver =~ s/\..*//;
>    if ($sa_ver >= 3) {
>        if (!defined($SASpamTester)) {
>            my $object = spam_assassin_init(@_);
>            return undef unless $object;
>        }
>        return $SASpamTester->parse([EMAIL PROTECTED]);
>    } else {
>        return Mail::SpamAssassin::NoMailAudit->new(data=>[EMAIL PROTECTED]);
>    }
>
>  
>

Ah, that works:

# coming from alsa-devel is already suspicious...
header LOCAL_ALSA_DEVEL         Return-Path =~
/<[EMAIL PROTECTED]>/
describe LOCAL_ALSA_DEVEL       Return-Path: from "alsa-devel"
score LOCAL_ALSA_DEVEL          3.0


I'm kind of curious as to why some of the lists on lists.sourceforge.net
seem to
do a better job blocking spam than others, even amongst lists that have
wide-open
submisssion policies.

Are the filtering policies set per-list?

Using the following with great success:

# charsets we aren't interested in
header LOCAL_CHARSETS           Subject:raw =~
/=\?(gb2312|shift-jis|iso-2022-jp|iso-8859-([2-9]|1[0-9])|windows-125[013-8]|utf-8)\?/i
describe LOCAL_CHARSETS         Subject: contains charsets we don't accept
score LOCAL_CHARSETS            6.0

# don't believe it...
header LOCAL_ACCOUNT            From =~ /[EMAIL PROTECTED](paypal|ebay)\.com>/i
describe LOCAL_ACCOUNT          From: contains eBay or PayPal address
score LOCAL_ACCOUNT             6.0

Too bad that I had to write LOCAL_CHARSETS and can't use the FARAWAY
rules instead.  Sigh.  I tried to understand the logic of the existing
rules, and it
seems to be too wide open.  Given that email that will fit into
iso-8859-1 is
supposed to be "downgraded" to that charset, you should never see English
language text in iso-8859-2 (or -4 or -15, etc)...  So the rule
shouldn't be admitting
-2 or -4 or -15 but does anyway.

-Philip

Reply via email to