summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* intermediatebwarsaw2001-08-041-0/+122
|
* Another SMTP32 examplebwarsaw2001-08-040-0/+0
|
* intermediatebwarsaw2001-08-041-0/+96
|
* ScanMessages(): Added SimpleWarning and LLNL modules.bwarsaw2001-08-041-0/+2
|
* Fix copyright yearsbwarsaw2001-08-041-1/+1
|
* New bounce examplesbwarsaw2001-08-042-0/+300
|
* A recognizer for LLNL's custom Sendmail.bwarsaw2001-08-040-0/+0
|
* intermediatebwarsaw2001-08-041-0/+35
|
* Extend the address-cre for "failed addresses follow:" to matchbwarsaw2001-08-041-1/+1
| | | | simple_04.txt
* Another SimpleMatchbwarsaw2001-08-040-0/+0
|
* intermediatebwarsaw2001-08-041-0/+105
|
* The start of a unit test suite. Yay! Only tests bounce detection sobwarsaw2001-08-042-0/+123
| | | | far.
* A bunch of new bounce examples.bwarsaw2001-08-046-0/+1017
|
* Massively rewritten so as to (hopefully) simplify the logic, and notbwarsaw2001-08-041-100/+109
| | | | | send the password reminder as if it's coming from the "first" public mailing list. Instead it comes from the "site list".
* process(): Add a default argument `patterns' so similar modules likebwarsaw2001-08-041-1/+2
| | | | SimpleWarning can pass this in.
* Recognize two similar Postfix mutations: something calling itselfbwarsaw2001-08-041-2/+11
| | | | "KeftaMail" and another calling itself "BSN Postfix".
* process(): "Internet Mail Service" sure looks awfully similar. Webwarsaw2001-08-041-0/+3
| | | | just need to not recognize lines that start with whitespace.
* check(): Add `delayed' as a valid Action: to match on.bwarsaw2001-08-041-1/+4
|
* Like SimpleMatch.py but with a different set of patterns (matchingbwarsaw2001-08-040-0/+0
| | | | some common warnings).
* intermediatebwarsaw2001-08-041-0/+46
|
* No longer necessary.bwarsaw2001-08-041-4/+0
|
* Get rid of answer_majordomo_mail. It's seriously broken in MM2.1, andbwarsaw2001-08-042-42/+1
| | | | of limited value, IMO. Haven't we already taken over the world? :)
* GetConfigInfo(): Vizi Szilard noticed a few strings missing i18nbwarsaw2001-08-041-1/+1
| | | | markings.
* mailman-owner@%(hostname)s => %(siteowner)sbwarsaw2001-08-048-8/+8
|
* Split SCRIPTS into FILES and PROGRAMS. The former is installed withbwarsaw2001-08-041-5/+8
| | | | | mode 644 while the latter is installed with mode 775. This lets you run cron scripts from the command line.
* Instead of using MAILMAN_OWNER, use Utils.get_site_email(). Thebwarsaw2001-08-041-2/+4
| | | | former config variable is going away.
* main(): Instead of using MAILMAN_OWNER, use Utils.get_site_email().bwarsaw2001-08-043-7/+7
| | | | The former config variable is going away.
* create(): Instead of using MAILMAN_OWNER, use Utils.get_site_email().bwarsaw2001-08-041-4/+6
| | | | The former config variable is going away.
* process(): Instead of using MAILMAN_OWNER, use Utils.get_site_email().bwarsaw2001-08-041-1/+1
| | | | The former config variable is going away.
* listinfo_overview(): Instead of using MAILMAN_OWNER, usebwarsaw2001-08-041-2/+2
| | | | Utils.get_site_email(). The former config variable is going away.
* process_request(): Instead of using MAILMAN_OWNER, usebwarsaw2001-08-041-6/+5
| | | | Utils.get_site_email(). The former config variable is going away.
* admin_overview(): Instead of using MAILMAN_OWNER, usebwarsaw2001-08-041-1/+1
| | | | Utils.get_site_email(). The former config variable is going away.
* get_site_email(): New function.bwarsaw2001-08-041-0/+6
|
* ApprovedAddMember(), ApprovedDeleteMember(): Instead of usingbwarsaw2001-08-041-4/+5
| | | | | MAILMAN_OWNER, use Utils.get_site_email(). The former config variable is going away.
* MAILMAN_OWNER: Removed.bwarsaw2001-08-041-1/+1
| | | | | | MAILMAN_SITE_LIST: Names the "master site list" which must exist, and from which all site-related email appears to come from (e.g. password reminders).
* HandleBouncingAddress(): Instead of using MAILMAN_OWNER, usebwarsaw2001-08-041-2/+3
| | | | Utils.get_site_email(). The former config variable is going away.
* Add big5 to LANGUAGES and also don't force marked.files andbwarsaw2001-08-031-3/+3
| | | | docstring.files to update every time.
* New handler module to set things up for regular deliverybwarsaw2001-08-030-0/+0
| | | | | | | | personalization. Specifically, copies of the message are sent back to the incoming queue, but their pipelines are hardcoded to only Decorate and ToOutgoing. The original copy goes through the normal delivery mechanism (but with its metadata['recips'] deleted so it won't actually get delivered to anyone).
* intermediatebwarsaw2001-08-031-0/+44
|
* process(): If the message should be personalized (i.e. its metadatabwarsaw2001-08-031-3/+22
| | | | | | | | | has a true 'personalized' key), then calculate an additional dictionary of interpolation variables for the header and footer. This contains keys specific to the user who is the recipient of this copy of the message. decorate(): Take an optional `extradict' of interpolation mappings.
* cosmeticbwarsaw2001-08-031-1/+0
|
* GetConfigInfo(): UI changes, first to make the header and footer textbwarsaw2001-08-031-3/+47
| | | | | | boxes higher (10 lines instead of 4). Second, if OWNERS_CAN_ENABLE_PERSONALIZATION, add the config info for the `personalize' attribute.
* change_options(): Always change the user's realname, not just if thebwarsaw2001-08-031-3/+2
| | | | | value is `true'. This allows us to delete the name and have it removed from the member database.
* NewVars(): Add the `personalize' attribute if it's missing.bwarsaw2001-08-031-0/+1
|
* DATA_FILE_VERSION: Bump up to pick up the new `personalize' attribute.bwarsaw2001-08-031-1/+1
|
* getMemberCPAddress(): Bug fix -- return the case preserved address notbwarsaw2001-08-031-1/+1
| | | | the argument.
* InitVars(): Initialize the `personalize' list attribute. Defaults to 0.bwarsaw2001-08-031-0/+1
|
* OWNERS_CAN_ENABLE_PERSONALIZATION: Flag which controls whether listbwarsaw2001-08-031-0/+8
| | | | | | | | | | | | | | admins can "personalize" their mailing lists. Personalization is a new feature where each recipient gets their own copy of the message, and the headers and footers can include additional information specific to the user. Since this can impose a greater system burden, it must be enabled by the site administrator in order for the list admins to see or set the option. Note that this currently only works for regular delivery. GLOBAL_PIPELINE: Add the "Personalize" handler module, which actually sets the messages up for personalization.
* Some UI improvements suggested by Michael Yount:bwarsaw2001-08-031-9/+9
| | | | | | | | GetConfigInfo(): Elaborate the details for admin_immed_notify to make it clear that the list moderators and the list administrators get the notification. Also, spell out "kilobytes".
* Some UI improvements suggested by Michael Yount:bwarsaw2001-08-031-88/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | show_results(): Elaborate on the "Make your changes text...". Reorganize the category specific elements so that the "find member" section is added here instead of in membership_options(). This lets us put an hr in between these sections. Also, hyperlink "Python regular expression" to point to the library reference manual's description of regexp syntax. show_variables(): No longer needs the `form' argument, since it doesn't call membership_options() any more (that's called directly from show_results() instead). membership_options(): Just pass in the subcategory instead of calculating it here. It's figured out by show_results(). Also, don't add the "find member" section here; it's also added by show_results(). Reorganize the big member table to change the sense of the subscription check box. I've always hated the fact that you turn /off/ the subscr checkbox to unsubscribe somebody! Instead, now you turn on the unsub checkbox to unsubscribe them. To make this standout even more visually, the unsub column is moved to the left of the name/addr column. I still hate the abbreviations, but don't have any better ideas. This does improve things though because the members to be effected (i.e. unsubscribed) stand out much better now. mass_subscribe(), mass_remove(): More reorganization to put the questions in their own table cells. This helps line things up better, although it isn't perfect. Also, shrink the width of the text area a bit.