summaryrefslogtreecommitdiff
path: root/Mailman/HTMLFormatter.py
diff options
context:
space:
mode:
authorbwarsaw2001-12-27 06:49:12 +0000
committerbwarsaw2001-12-27 06:49:12 +0000
commitc8a029828285a686dd1999f110d0bc528618ab74 (patch)
tree2316635ce723a12fee0dd255b7612f6409eab150 /Mailman/HTMLFormatter.py
parent825134c6d898e53f6715f31440d8384f11241e20 (diff)
downloadmailman-c8a029828285a686dd1999f110d0bc528618ab74.tar.gz
mailman-c8a029828285a686dd1999f110d0bc528618ab74.tar.zst
mailman-c8a029828285a686dd1999f110d0bc528618ab74.zip
The long-awaited rewrite of the bounce processing system. We've
(hopefully) managed to make this both more understandable and much simpler. Simpler even than recent mailman-developer threads (and yet, I still believe this will work :). The algorithm is explained in the Mailman/Gui/Bounce.py, i.e. admin/bounce category, help string. Specifically here, _BounceInfo: New class which encapsulates information about a member's bounce status -- not delivery status. This holds information about their bounce score, the date (YYYY, MM, DD) of their last detected bounce, the number of "you-have-been-disabled" notices remaining to be sent, the date of the last sent notice, and the confirmation cookie for thru-the-web/email-cmd re-enabling. InitVars(): Throw away old attributes minimum_removal_date, minimum_post_count_before_bounce_action, automatic_bounce_action, max_posts_between_bounces, and add new attributes bounce_score_threshold, bounce_info_stale_after, bounce_you_are_disabled_warnings, and bounce_you_are_disabled_warnings_interval. See schema migration code in versions.py. ClearBounce(), RegisterBounce(), HandleBouncingAddress(), DisableBouncingAddress(), RemoveBouncingAddress(): Gone. registerBounce(): New method which other bounce detection code can call to register a bounce on a member. The other code can supply a weight (hard bounces = 1.0, soft bounces = 0.5), defaulting to 1.0. This method handles all the bounce scoring policy, including registering only one bounce per member per day, and throwing away residual bounce information for members who are already disabled. __sendAdminBounceNotice(): Send a disabled-due-to-bounce notice to the list administrator. Used when a member is actually disabled. This uses the existing bounce.txt template, but in unusual ways, avoiding requiring the translators to provide new templates. sendNextNotification(): If a disabled member is still due some notification, then send another to the user, decrementing the noticesleft count. If noticesleft is <= to 0, then they haven't re-enabled their account in time and they get deleted.
Diffstat (limited to 'Mailman/HTMLFormatter.py')
0 files changed, 0 insertions, 0 deletions