procbounce theory of operation?

Jim Osborn <[email protected]> Tue, 27 Jul 2004 16:03:45 -0700
Newsgroups gmane.mail.smartlist.user
Message-ID <[email protected]>
I'd like to get a sanity check/confirmation on how I think removals
get processed by SmartList v3.15.  From looking at the procbounce
script in the distro, it seems that when a DSN, or other error message
is received:

1: the offending address is extracted as "addr"
2: $addr is added to a file in bounces/, named per today's date
3: all but the most recent $maxhist files are removed from bounces/
4: a count is made of all files in bounces/ that contain $addr
5: if $count >= $minbounce then $addr is removed

Do I have that right?  If so, the only mechanism for blessing a
no-longer-bouncing address is when other bouncing addresses cause
enough daily bounces/ files to be generated so that the old address
passes out of the system.  I had always thought there was some
mechanism whereby successful delivery to an address would reset the
counter for that address, so a bounce limit of, say, 4 meant that a
subscriber needed 4 bounces without a successful delivery to be
removed. But now I think I was very wrong, and the situation is much
more complex and depends on a lot more than just the offending bouncer.

As an extreme example, if one subscriber happened to be the only
bouncer and he bounced, say, once a month, he'd still get removed
after 4 months, no matter how many times he took delivery of the list
traffic during all that time. 

Am I missing something?

TIA,

Jim