Skip to Content.
Sympa Menu

en - Re: [sympa-users] cleaning old bouncers

Subject: The mailing list for listmasters using Sympa

List archive

Chronological Thread  
  • From: Fil <address@concealed>
  • To: Sympa-Users <address@concealed>
  • Subject: Re: [sympa-users] cleaning old bouncers
  • Date: Fri, 28 Mar 2003 09:53:27 +0100

So, here is the script I've made to remove bounces from sympa lists, based
on the content of the bounce_subscriber field. (You won't appreciate that
I've written it in php not in perl, but it's easy to read and translate if
someone wants to do it.)

The dilemma is to remove bouncers without removing legitimate users that
have had a problem but solved it finally. So the strategy is the following:

// if bounces have been registered for more than 4 weeks
// AND we have more than 8 hard bounces OR 20 soft bounces
// AND the last bounce is not "old" (6 weeks)
=>>> then we remove it

Next: if the bounces are registered with a 2.x.x SMTP error code or no error
code at all, we just forget about it and put the bounce_subscriber field
back to NULL. (This is commented in the script I send, because I'm not
sure it's a good idea.)

Next: if the last bounce that has been seen by sympa is old (more than 6
weeks ago) we forget about it.

"Removing" bouncers can be done in two different ways :
- 'remove' just DELETE them from the database
- 'probe' moves them from the list they are on (say 'xxxx') to the
'xxxx-probe' list : of course if you configure this xxxx-probe list
in sympa you can do nice things, such as sending a last reminder before
doing the real unsubscription. And it allows you to visually check what
happens and maybe cancel it... before using the 'remove' method.

I've added a "read_only" flag, so you can check what requests would be sent
to MySQL without really sending them.

Results for me were: I have two lists, one which is 189 000 subscribers, and
has been growing for almost 8 years without bounce cleaning; the other is
more recent and has 30 000 subscribers. Both had above 40% 'bouncers', as
analyzed by sympa. After running this script I've eliminated 38202
subscribers from the first one, and 4783 from the second one. Older bounces
have been cleaned, and I'm left with 8% bouncers on each list.

(This is GPL'd of course)

-- Fil

Attachment: sympa_remove_bouncers.php
Description: application/httpd-php




Archive powered by MHonArc 2.6.19+.

Top of Page