Great Circle Associates Majordomo-Workers
(January 1997)
 

Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: Re: Automatic bounce handling...
From: Norbert Bollow <nb @ pobox . com>
Date: Wed, 15 Jan 1997 11:05:16 +0100
To: mhotti @ lists . oulu . fi
Cc: phil @ ecl . wustl . edu, Majordomo-Users @ GreatCircle . COM, Majordomo-Workers @ GreatCircle . COM, BH-WORKERS @ lists . oulu . fi, owner-etl @ genesis . acu . edu, owner-churchplanters @ genesis . acu . edu
In-reply-to: <Pine.LNX.3.95.970115042154.22084A-100000@majordomo.oulu.fi> (message from Marko Hotti on Wed, 15 Jan 1997 04:37:44 +0200 (EET))

> On Tue, 14 Jan 1997, Phil Olinger wrote:
> 
> > 
> > Has anyone augmented resend or written a separate "filter" script to
> > automatically move bouncing addresses from a list to a "bounces" list?
> > 
> > It seems like an obvious addition to resend and/or the Majordomo system as
> > a whole.

I have just finished writing such a script and I'm currently alpha-testing it
with two mailing lists.

The basic idea is as follows:

  My 'bouncefilter' script receives all messages to owner-$Listname\@@myhost
  and checks if they are delivery status notifications (DSNs). Those which
  are not DSNs are forwarded to the list-owners. Those DSNs which conform to
  RFC 1894 (which is a proposed internet standard for the format of DSNs)
  are parsed and acted upon as follows: To those addresses which are marked 
  as "failed", bouncefilter sends a warning message which starts like this:

    From: owner-$ListName\@$whereami
    Subject: Warning: It was not possible to send you e-mail!
  
    This is just a warning message to let you know that we got an error message
    for your e-mail address. This means that you did not receive one or more
    items of mail from the $ListName list, and possibly other, more personal
    e-mail messages did not reach you either.

  The warning messages also contains a copy of the human-readable part of
  the DSN. To each of these addresses, these warning messages are repeated on a
  daily basis unless no "failed" DSN arrives from that address. If after five
  days there are still "failed" DSNs from that address, the address is
  automatically unsubscribed. Bouncefilter still sends daily warning messages
  (until one of them does not bounce with a "failed" DSN) for 25 more days
  which start like this:

    From: owner-$ListName\@$whereami
    Subject: Warning: You're off the $ListName list now!

    After we received error messages which indicated that it was not possible
    to send e-mail to your address, your address was removed from the $ListName
    list $Days. Unfortunately in such a situation it is normally not possible
    to notify you of the problem, because e-mail will not reach you. What we do
    in such a situation is that we try to send you a warning message like this
    every day for a whole month until one of the messages gets through to you.
    Since you read this, possibly the problem has gone away now, and you might
    want to subscribe again to the $ListName list. You can do this by sending
    the command

       subscribe $ListName

    in the body of an e-mail message To: <Majordomo\@$whereami>

  Needless to say, the list-owners receive a daily e-mail message with a log
  of what is going on. I've also modified majordomo so that this log also
  contains single-line entries for SUBSCRIBEs, UNSUBSCRIBESs, etc.

  There are three special cases of which I haven't explained yet how my
  bouncefilter treats them:
    a) The (unfortunately still very frequent) case of DSNs which don't 
       conform to RFC1894.
    b) The address <example@foo.com> (which is subscribed to a list) forwards
       to an invalid address <beispiel@no.edu> which might generate error
       messages for <beispiel@no.edu> which don't mention the subscribed
       address at all.
    c) Someone subscribed a local exploder to my list but goofed so that
       the DSNs go to my owner-$Listname alias instead of going to the
       operator of the local exploder.
  All of these are handled by a simple trick: Every 10 days or so, (the
  frequency of this can be set from the configuration file) resend sends 
  one of the list's messages in a special way: Instead of sending the
  message to the -outgoing alias with an envelope-from of 
  owner-$Listname\@$whereami, the message is sent individually to each
  subscriber with a special envelope-from of

  bouncefilter+$ListName=$1=$2\@$whereami

  where $1 and $2 are obtained as follows:

	    $Addr=$Address;
	    $Addr=~s/=/=.=/g;
	    $Addr=~/^(.*)\@(.*)$/;

  The processing of error bounces for these addresses relies on the feature
  of sendmail that local delivery of messages addressed to an address of the
  form $User+$Extra delivers to the mailbox or alias $User. Bouncefilter will
  extract the information which is contained in the $Extra from the To: header.
  (this is not the perfect solution, and in principle I'd know how to improve
  it, but that would require me to hack the sendmail.cf and I don't have time
  for that) All such bounces which are not recognized (by some simple
  heuristics) as "delay notifications" are treated as failed DSNs, as above.

Marko Hotti <mhotti@lists.oulu.fi> wrote:

> What I am suggesting is that some volunteers reading these two greatcircle
> mailing lists form a Bounce-Handler-Workers team (just like
> majordomo-workers) and start working on it. I think the script should be
> written in perl and possibly use the majordomo file locking when parsing
> the error message against a list of subscribers. 

*nod*

> I have set up a mailing list on our server for this purpose but if you
> think it is more a Greatcircle thing, then maybe the forum should be
> hosted there.

*good*

I'm going to subscribe in a minute. I'll post my bouncefilter code in a few
days (so that I won't get mailbombed with repost requests).

> To subscribe to BH-WORKERS send email to <majordomo@lists.oulu.fi> and in
> the body of the message write:
> 
> subscribe bh-workers your@email.address.here
> end
> 
> I'm using the oxygene confirm key patch so you can see how it works on a
> Majordomo 1.94.1.
> 
> Best wishes, Marko Hotti

Blessings from Switzerland!
                               Norbert.


-- 
Norbert Bollow  (Zuerich, Switzerland; http://pobox.com/~nb)   <nb@pobox.com>
serving Christ Jesus; co-owner of the CHURCHPLANTERS mailing list.


References:
Indexed By Date Previous: Re: repeated messages
From: Jason L Tibbitts III <tibbs@hpc.uh.edu>
Next: Re: QP-->8bit (Re: Special characters in the digest)
From: Jason L Tibbitts III <tibbs@hpc.uh.edu>
Indexed By Thread Previous: Re: Automatic bounce handling...
From: Marko Hotti <mhotti@lists.oulu.fi>
Next: any fixes to awhthorization in 1.94.2
From: Jim Reisert <jjr@databook.com>

Google
 
Search Internet Search www.greatcircle.com