I've been finding that a lot of my procmail activity these days is up
in the front, involved with handling my whitelist.  The whitelist
overrules the spamassassin markings.  So the broad outline looks like
this:

# whitelist rules
:0: 
^From: <some known person>
$DEFAULT

# spam filtering rules
<kill spam identified by spamassassin>
<some vestigial rule-based spam processing>

# old sorting stuff
:0:
^Subject: <something I care about>
<specific folder>

One problem, if you look at the above, is that you'll see that all I
knew how to do with the whitelist is stuff whitelisted entries into my
main spool.  But I'd rather be able to have these sorted out!  I.e.,
I'd like them to pass into the "old sorting stuff."

Do any of you have a solution for this?

I can think of a couple of possibilities:

1.  A non-delivering recipe that somehow sets the X-Spam-Flag header
    to "No".  But I don't actually know how to do this.  I understand
    that formail could be used to modify the message, but I've never
    done that in a non-delivering recipe.  

2.  Somehow set a global variable to indicate that I should skip the
    spam filtering block.  I.e., modify the procmailrc to

WHITELISTED=no
# whitelist rules
:0: 
* ^From: <some known person>
{
   WHITELISTED=yes
   # I don't actually know how to write a recipe that does nothing!
}

# spam filtering rules
:0:
* WHITELISTED ?? no
<kill spam identified by spamassassin>

:0:
* WHITELISTED ?? no
<some vestigial rule-based spam processing>

# old sorting stuff
:0:
^Subject: <something I care about>
<specific folder>

3.  Set the X-Spam-Status to No, set something to avoid reprocessing
    the whitelist, and then invoke procmail recursively.  Alas,
    although the procmailrc manpage hints at this --- "For really
    complicated processing you can even consider  calling  procmail
    recursively." --- I've never seen an example of how to do this.

4.  Get out of the procmail box a little bit.  Is there some
    alternative mail preprocessor that's good at whitelisting?  One
    has to write a lot of boilerplate into the procmailrc file for
    every whitelist entry.  Might be nicer to just have a filter
    that's specialized for whitelist matching, so I could just have a
    whitelst file that's a list of addresses, instead of a list of
    rules.

Thanks!
R


_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
Help beta test TCLUG's potential new home: http://plone.mn-linux.org
Got pictures for TCLUG? Beta test http://plone.mn-linux.org/gallery
tclug-list at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-list