Great Circle Associates List-Managers
(May 1997)
 

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

Subject: Re: Auto-Bounce Handling
From: Norbert Bollow <nb @ pobox . com>
Date: Wed, 14 May 1997 15:50:27 +0200
To: brozen @ webdreams . com
Cc: list-managers @ GreatCircle . COM
In-reply-to: <Pine . OSF . 3 . 96 . 970514083602 . 2127D-100000 @ webdreams . com> (message from Brock Rozen on Wed, 14 May 1997 08:37:19 -0400 (EDT))

> Hi,
> 
> Does anybody know of any programs that handle bounces on a UNIX platform?
> 
> Thanks,
> 
>  ------------------------------------------------------------------------- 
>  | Brock Rozen | brozen @
 webdreams .
 com | http://www.webdreams.com/~brozen | 
>  ------------------------------------------------------------------------- 

Greetings!

First of all let me mention that there is a mailing list for developers of
such beasts. To subscribe, send email to <Majordomo @
 lists .
 oulu .
 fi> with the 
following command in the body of your email message:

    subscribe bh-workers

Unfortunately, nothing much has happened on that list yet.

However, I've written such a perl script called 'bouncefilter'; I'm currently 
using it for 14 mailing lists on two servers, and I'm very satisfied. 
Unfortunately the current version will only work with my (heavily hacked) 
version of Majordomo (which I cannot make publicly available due to 
restrictions in the Majordomo license).

The good news is that today someone has e-mailed me and expressed interest
in helping me with making a public release of 'bouncefilter' for the official
Majordomo versions 1.94.*; at that stage it would be very little extra work
to include support for other mailing list managers. My situation is that I
have a very heavy workload, but if there is sufficient interest (and 
willingness to help e.g. with alpha testing) I'd be willing to invest the
additional effort to make it work with whatever mailing list manager you're
using. If someone is interested, please drop me private e-mail, letting me
know what mailing list manager you're using and what kind of help you might
be able to offer.


A brief description of bouncefilter 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.


May blessings from the eternal God surprise and overtake you!
                                                                 Norbert.


-- 
Norbert Bollow  (Zuerich, Switzerland; http://pobox.com/~nb)   <nb @
 pobox .
 com>
serving Christ Jesus; co-moderator of the CHURCHPLANTERS E-mail Conference.


References:
Indexed By Date Previous: Auto-Bounce Handling
From: Brock Rozen <brozen @ webdreams . com>
Next: check_mail ruleset for sendmail.cf
From: rlcarr @ MIT . EDU
Indexed By Thread Previous: Auto-Bounce Handling
From: Brock Rozen <brozen @ webdreams . com>
Next: Re: Auto-Bounce Handling
From: Vince Sabio <wavelet @ colossus . arl . mil>

Google
 
Search Internet Search www.greatcircle.com