procmail
[Top] [All Lists]

Simple Semi-Moderation

1997-09-18 01:05:12

This is me trying to ape other people's recipes in order to put together
the most concise possible semi-moderation recipe for SmartList's
rc.local.s10. I would be grateful for all opinions as it would be a size
nine bitch to test this on a live list. I'm suspicious of my nesting blocks
in particular.

Semi-moderation means that non-subscribers are moderated, subscribers are
not moderated by default but that can be rescinded; miscreants are put in
the "moderated" file.

Prerequisites are an open, unmoderated list.

__________________________________________________________________

:0   # Check if the message has the correct Approved: headerfield.
     # If it does, remove the field; everything else in this rc
     # should subsequently be ignored.
* ^Approved:.*$moderator_PASSWORD
| formail -I Approved:

{
:0E    # Check if the person is on the accept list
* 2^0 ? formail -X"From " -xFrom: -xReply-To: -xSender: -xResent-From: \
           -xResent-Reply-To: -xResent-Sender: -xReturn-Path: | \
           multigram -b1 -m -l$submit_threshold -L$domain \
            -x$listaddr -x$listreq accept accept2 accept3

:0 E wfh   # If not, bounce the message to the maintainer
| formail -A "X-Diagnostic: Not on the accept list"
}

{
:0E    # Check if the person is in the moderated file
* 2^0 ? formail -X"From " -xFrom: -xReply-To: -xSender: -xResent-From: \
           -xResent-Reply-To: -xResent-Sender: -xReturn-Path: | \
           multigram -b1 -m -l$submit_threshold -L$domain \
            -x$listaddr -x$listreq moderated

:0 a wfh   # If so, bounce the message to the maintainer
| formail -A "X-Diagnostic: Not on the accept list"
}

___________________________________________________________________

TIA,


--Ken
           68 Westy, Admin -- type2 -- The VW Bus Mailing List


<Prev in Thread] Current Thread [Next in Thread>
  • Simple Semi-Moderation, Ken Hooper <=