procmail
[Top] [All Lists]

Re: Scoring Recipe for repeating addresses?

2002-06-18 14:45:40
I'm trying to find a way to filter out spam that is addessed to
repeating addresses such as
      To: 
<postmaster(_at_)example(_dot_)com>,<postmaster(_at_)example(_dot_)com>

OK - you have a few problems.  Here's the first:

      I tried (condition is all on one line) the following:

# ~~~~~ condition line wraps -- sorry!
:0
^(To|Cc):.*<postmaster@([-a-z0-9_]+\.)+\.(com|net|org)>,.*<postmaster@([-a-z0-9_]+\.)+\.(com|net|org)>,
.*<postmaster@([-a-z0-9_]+\.)+\.(com|net|org)>
! mailbox(_at_)example(_dot_)com
# ~~~~~

Your condition line is not a condition line!  Condition lines start with
a '*', so what you want to be a condition is actually an action.  Put a
'*' at the start there and it'll be a condition.

This part of the condition:

  ([-a-z0-9_]+\.)+\.

The part in parentheses will match any of [hyphen, letter, number,
underscore] repeated one or more times, followed by a single dot.  That
whole thing can be repeated any number of times but the last thing the
parentheses will match will always be a dot.  But that must then be
followed by a dot!  So you probably mean:

 * ^(To|Cc):.*<postmaster@([-a-z0-9_]+\.)+(com|net|org)> [...etc...]

However, if you want to simply match a mail that is sent to multiple
postmasters, you might want something closer to:

  :0
  * -1^0
  * 1^1 postmaster@
  ! mailbox(_at_)example(_dot_)com

That is, set the score to -1, then add 1 to the score every time you see
postmaster@ in the header.
That's a *long* way from foolproof, but depending on what you want might
be good enough.

Is that anything like what you want?
Regards,
Martin
-- 
Martin McCarthy                 /</    http://procmail.non-prophet.org
    `Procmail Companion'        \>\
     Addison Wesley             /</                  PGP key available
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail