procmail
[Top] [All Lists]

$ORGMAIL versus $DEFAULT delivery

1998-02-13 00:11:41
My experimental split-level filter (*NOT* yet visible on my
SpamDunk webpage http://www.interlog.com/~waltdnes) goes like
so (see below for more detail)...
 Part 1) Run tests/processing applicable both to my mailing
lists and to regular email.
 Part 2) Check whether an email is from mailing list.  Then
execute "islist" INCLUDERC file.  As shown below, list messages
that survive "islist", should go to $DEFAULT.
 Part 3) If not a mailing-list message fall through to
"isnotlist" INCLUDERC. 

   However, on occasions when the mail server is full, mailing
list messages aren't delivered to $DEFAULT.  Rather than
failing as expected, processing falls through to the next
recipe!!!  BAD DEFAULT!!!  I'm certain of this, because my
filters write a line to the logfile indicating which filter
kicked it out.  Mailing lists are *NOT* addressed to
"waltdnes(_at_)interlog(_dot_)com", which causes the "isnotlist" filter to
reject it.  I'm fortunate that I route rejects to a textfile,
which I could retrieve.  People who route rejects to /dev/null
ended up losing their messages entirely.
   Now for my question.  If I had set the "deliver" destination
as $ORGMAIL rather than $DEFAULT, would it have made any
difference?

============================================
MYLISTS="(procmail@|risks@)"

# Run a bunch of tests/processing applicable
# to both lists and private email 

:0
*$!^(To|Cc|Bcc):.*$MYLISTS
{
INCLUDERC=islist
###### Valid list messages that survive testing
###### by the "islist" include file should be
###### delivered here.  It looks like they
###### fall through to the next recipe when mail
###### server is full.
:0
$DEFAULT
}

INCLUDERC=isnotlist
###### The "isnotlist" include file checks for
###### email not addressed to me or from
###### Interlog.  The first recipe in there
###### will reject all of my lists.  That's why
###### I go to the trouble of separate processing.
:0
$DEFAULT
============================================

-- 
Walter Dnes (Toronto)
<waltdnes(_at_)interlog(_dot_)com>

<Prev in Thread] Current Thread [Next in Thread>