summaryrefslogtreecommitdiff
path: root/modules/mm_bouncer.py
Commit message (Collapse)AuthorAgeFilesLines
* All these files have been moved to the Mailman directory (and some renamed)bwarsaw1998-06-191-416/+0
|
* Whoops, I forgot to check these in. They're changed to handleviega1998-06-031-2/+2
| | | | | relative paths, mainly GetScriptURL->the appropriate replacement. Now I'm done w/ checkins, and I'm going to test the current snapshot.
* Fixed a typo in the zipcode.viega1998-05-261-2/+2
|
* .ScanMessage(): Consolidated BOUNCE and REMOVE handling on themailman1998-05-261-34/+29
| | | | | | | | candidates structure, so the addresses are all pre-processed similarly (but the actions are still HandleBouncingAddress() or RegisterBounce()). Fixed a few bounce log messages that were missing some context.
* Added copyright notices to all source files where I am legally entitled to ↵viega1998-05-251-1/+18
| | | | | | | do so. Added a copy of the GNU GPL. Added information about mailman-users in README, and reworded some text in there (made the credits less verbose... perhaps they should move to a credits file?)
* Slight simplification of remaining-messages log notice.mailman1998-05-241-3/+2
|
* Added provision for a bounce message where the email address is on aklm1998-05-241-3/+23
| | | | | | | | | | | | | | | | different line than the cue. Thus we have to use two separate checks: - One regex, 'separate_cue_1', to identify this as an failure notice. The flag var, 'check_prospects', is set if this regex triggers. - Another regex, 'separate_addr_1', adds the addr to prospects if triggered. Prospects are only used when 'check_prospects' has been set, to ensure that the message being examined is in fact a failure notice. (The two hosts i'm dealing, parrot and glyph, happen to run run berkeley sendmail 8.8.5, which happens to issue failure notices like this. I would not be surprised if more recent sendmails did, too...)
* .RegisterBounce(): I think this corrects the bounce log reporting ofklm1998-05-211-3/+4
| | | | | | | | the remaining number of bounces a member is allowed (within the stipulated time frame) before exceeding the limit. If this is right, with the other bounce-handling refinements i feel a lot more confident about predicatable, well-mannered behavior from the bounce management stuff...
* Prevent bounce loops when admin-action recipient is itself theklm1998-05-211-30/+65
| | | | | | | | | | | | | | | bouncing address - before sending the notice, check whether the bouncing address is among the list owner addresses. And otherwise, include (attach) a copy of the actual bounce notice in the admin-action message. Otherwise there is no record the administrator can examine. Finally, send both failed and successful admin-action notifications to the list administrator. Before, failed action (e.g. inability to locate the specific user) were sent to the mailman site admin - this was while i was debugging the bounce handling, but it looks a lot better now.
* Neglected to mention on last checkin:mailman1998-05-201-10/+10
| | | | | | | | | | | | | ScanMessage(): added final-step massage of all candidates to remove encompassing <, > angle brackets, if any, and check against already processed candidates. (In order to change something to enable a checkin i made a spelling change of something trivial that i resisted for a while - substituted "message_grokked" for "message_groked". I'm pretty sure the double k is right, but don't have a copy of stranger in a strange land happy to check. Anyway, i keep reading "groked" like it would rhyme with "stoked", which just can't be right...-)
* Do not send "user disabled" notices to admin when user is alreadymailman1998-05-201-17/+35
| | | | | | | | | | | disabled. The idea is that numerous outstanding bounces do not each require renotification of the admin. DisableBouncingAddress(), RemoveBouncingAddress(): changed return signatures to indicate whether email notification is necessary for this action, and in Disable version, indicate not necessary when user is already disabled. In all other cases, notification is indicated, whatever the status.
* .ScanMessage(): Further robustification of the bounced-message addressmailman1998-04-231-4/+10
| | | | | | | | | extraction, with testing. We now avoid all the silly elipses cases... (Unfortunately i could not test the bounce handling on glyph due to some subtleties in the sendmail setup. Fortunately, bounce handling is a sufficiently uncommon event that i could work on the production system without much fear of disruption.)
* These changes should reduce, if not eliminate, the duplicate handlingklm1998-04-231-14/+13
| | | | | | | | | | | | | | | of bounce violators, and also reduce if not eliminate the number of invalid address targets. .ScanMessage(): Instead of handling each email addr as it's encountered, collect together all the candidates and go through them all at the end, rejecting duplicates. This way, candidates found repeatedly in different cases won't be processed multiple times. .ExtractBouncingAddr(): Prevent a commonly recurrent aberrant address gleaning, eg: "<klm@python.org>..." - many error notice lines have that elipsis after the address, and it was not being adequately filtered. Now it is.
* .RegisterBounce(): Missing '%' was making a string format operationklm1998-04-101-12/+11
| | | | | | look like an erroneous application of a non-existent function. Minor spelling change - "relevent_text" => "relevant_text".
* Preparing to package a distribution - add a module docstring andmailman1998-04-091-0/+4
| | | | __version__ info.
* Call to SendTextToUser() requires "add_headers" instead of "add_to_headers"mailman1998-04-081-2/+2
|
* Added new-format descriptive header, as string in options list.klm1998-04-071-4/+7
| | | | | Tracking change of SendTextToUser() option, errorsto => add_new_header.
* Use new .DeleteMember() arg to indicate whence this deletion came.mailman1998-04-031-14/+24
| | | | | | Wrapped a bunch of long lines. (Sometime soon the regexps are going to have to be converted to re.)
* Finally fix bounce handling so (1) there is an option for users to bemailman1998-03-271-26/+96
| | | | | | | | | | | | | disabled, rather than removed, and (2) that option can be accompanied by email to the admin, or not, but the removal option always entails email to the admin. (Email to the admin was previously not implemented, though there were options that were supposed to do it.) Mostly implemented in new method, .HandleBouncingAddress(), which dispatches to RemoveBouncingAddress() or DisableBouncingAddress(). Improve logging - more terse messages, but more comprehensive coverage.
* Change bounce-handling mechanism to offer disabling of user account,mailman1998-03-261-13/+24
| | | | | | | | | | | | as an alternative to removal: Option minimum_post_count_before_removal => minimum_post_count_before_bounce_action. Option automatically_remove => automatic_bounce_action. New method DisableBouncingAddress(), as alternative to RemoveBouncingAddress().
* Looks like bounce handling does not work like options advertise - inmailman1998-03-201-7/+7
| | | | | | | | | | | | | | | | | | | particular, "Don't remove, notify me" still *does* do the removal. Sigh. The right way to set this up will take some thought, but i think my first cut fix will be, when this option is selected, to just disable the user, and send a note to the admin. That way, the admin won't just get extra notes accompanying continuing bounce results for the user... I may get to this quick fix soon. The long term (and fairly attractive) fix is to make a bounce-handling subsystem which collects bounce messages and classifies them according to a admin-configurable template, taking actions like disabling or removing the user, notifying the admin, etc, when admin-configured thresholds are reached. The admin interface could be handled very like the admin-requests mechanism, with a page for bounce administration and a periodic notice of pending bounce admin stuff.
* Remove use of '/tmp/bounce.log' file (which will knock over mailman ifmailman1998-03-191-18/+32
| | | | | | | it already exists and is unwritable), using safe .LogMsg() in the "bounce" category, instead. Rationalized the bounce reporting a bit.
* Utilize default settings from mm_cfg module.mailman1998-02-261-14/+9
|
* Initial revisionmailman1998-02-251-0/+220