[Mailman-Developers] New feature, auto-responding

Barry A. Warsaw bwarsaw@cnri.reston.va.us (Barry A. Warsaw)
Fri, 18 Feb 2000 22:59:04 -0500 (EST)


I've been a bad boy.  I should have been killing bugs, or catching up
on the list traffic, or working on the I18N or other new features.
But I had a particularly annoying itch that I wanted see how easy it
was to scratch.  Turned out pretty easy - it took me about an hour to
implement, and another hour or so to test.

What I've added is an auto-responder.  You can control whether
auto-responses are send to mailing list posts and/or -admin emails (it
makes no sense to auto-respond to -request emails, since that's
already a bot).  You can also set the auto-response texts and the
grace period.  Below is the check-in message for those of you not on
mailman-checkins.

Okay, now I promise to get to all the things I'm supposed to do.  I'd
like to be very close to releasing 1.2 by the first weekend in March.

Enjoy,
-Barry

-------------------- snip snip --------------------
Autoresponder: New mixin class which contains attributes and
configuration information for the new replybot functionality.  Mailman
can now send automatic responses to mailing list posts or -admin
emails (-request autoreplies aren't necessary since that's a bot
anyway).  The following new configuration attributes control this
feature:

    autorespond_postings - boolean which controls autoreplies to mailing
    list posts.

    autorespond_admin - same as above the -admin address.

    autoresponse_postings_text - the mailing list post autoreply
    text.  This is %(string)s interpolated with a dictionary as
    described below.

    autoresponse_admin_text - same as above for the -admin address.

    autoresponse_graceperiod - the number of days between automatic
    responses to the same email author.  This variable controls both
    autoresponses.  If this is <= 0, then there is no grace period.

The following non-configurable attributes store the state:

    postings_responses - a dictionary of email addresses (lower cased)
    to the time.time() that the grace period expires.

    admin_responses - same as above for the -admin address.

autoresponse_postings_text and autoresponse_admin_text are string
interpolated with the following dictionary:

    listname - the mailing list's "real_name"

    listurl - the list's "listinfo" url

    requestemail - the list's -request address

    adminemail - the list's -admin address

We should probably add others.