summaryrefslogtreecommitdiff
path: root/modules/maillist.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Tracked change of names of 'closed' and 'auto_subscribe' options. Seemailman1998-03-241-28/+13
| | | | | | | | concurrent mm_defaults.py checkin for details. Moved basic logger functionality to mm_utils.Logger() and particularly, .StampedLogger(), so it could be used outside of lists, as well as within them via the LogMessage() routine.
* Add __del__ to close the log_files that were retained across themailman1998-03-201-0/+4
| | | | | | maillist session. I was running out of file descriptors in the extensive map_maillist() type activities. Not sure if it's the log files, but it can't hurt.
* .CheckValues(): New routine to normalize values as necessary, eg add amailman1998-03-181-16/+22
| | | | | | | | | | | trailing '/' to web_page_url if not already there. (Only one, so far.) .Load(): call CheckValues() just before CheckVersion(). Add the subject line to the info passed to 'post' .AddRequest(), so it is available for the administrator notification and summary. Remove some debugging prints.
* Added init of admin_immed_notify, so list admins can choose to havemailman1998-03-131-53/+45
| | | | | | | | | | | | | | | | | | | | notices sent whenever a new admin request (vetted subscriptions or list postings) arrives, in addition to daily notice. Accommodate comments in header-match expr. And log bad header-match exprs, rather than raising an error. Moved header-prefix prepend to before digest and archive saves. Moved list_names() to mm_utils. Changed text of goodbye_msg var so to *not* imply that unsubscribe acknowldgements are *not* sent when the goodbye_msg is empty. Include list name in __repr__! Whoops - last checkin had missing comma, put that sucker back in immediately.
* Added obscure_addresses option, for thwarting web spiders fromklm1998-03-081-6/+17
| | | | | | | | | | | recognizing and collecting email addrs. Make the expansion of the message headers and footers during message post, rather than during message setting. This will enable two things. Most importantly, list administrators can employ the format variables from the web interface (but they need to find out what the various keys are - via the to-be-done help system). Also, dynamically changing values could be referenced.
* New privacy (ant-spam) feature - bounce_matching_headers option takesklm1998-03-081-35/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a string with "field: matchexp" lines, and, if set, messages with header fields matching matchexp are held for approval. MailList.parse_matching_header_opt separates the header and matchexp using the first ':' (and trims leading whitespace off of the matchexp), and MailList.HasMatchingHeader() does the check. And of course, MailList.Post() does the check, MailList.LogMsg(): given the log category, add an entry to the log file for that category. Files all situated in setting of (new) config opt, LOG_DIR. (Stored the open files on a list, potentially useful when running as a long running daemon...) MailList.ApprovedAddMember(): gets a check for existing membership - possible when more than one subscription for the same address is okayed from the same pending batch of subscription requests - before it was creating multiple subscriptions, and things blew up when attempts were made to revoke the subscriptions... Bracketed all potentially file-creating 'open()'s (MailList.CreateFiles(), .Save(), .Lock(), .LogMsg()) in os.umask suspension/resumption, so that the files are created with the intended permissions. Added a repr which indicates the lock state of the file. (Helpful for my exploratory programming.) Reworded some option descriptions.
* Checked-in mm_cfg.py moved to mm_cfg.py.dist, so it never clobbersmailman1998-03-051-1/+7
| | | | | site's customized version. New sites can use mm_cfg.py.dist as an example, conversely.
* Use new mm_err exceptions to particularize list load failures.mailman1998-03-041-11/+17
| | | | | | Move the msg_header and msg_footer defs back into the non-digest options section. (The defaults values are good enough so that the options don't have to be brought to the admin's attention.)
* Add missing space to max_num_recipients config var description.mailman1998-03-041-2/+2
| | | | (And incidentally, first test of checkin after transition to cvs.)
* Refined some option text descriptions, increased length of filtermailman1998-02-271-11/+10
| | | | program input box.
* Prevent cascading subject-line list prefixes.mailman1998-02-261-38/+51
| | | | | | | | | | | | | Employ defaults from mm_cfg. Rearrange some of the options so, eg, the list descriptions options are together near the top. Create the retained-mail file, regardless of whether it will be used. (This way things won't blow when the option to use the file is selected after list init time.) Wrap some long lines.
* Use new routine list_names(), instead of searching for the presence ofmailman1998-02-251-5/+4
| | | | the list directory explicitly.
* Incorporated an anti-spam measure, requiring explicit naming ofmailman1998-02-221-9/+33
| | | | | | | | | | | | | | maillist in a destination address - either in the to or cc headers. The option require_explicit_destination controls the behavior, and defaults to on. (This approach has been working nicely with the majordomo lists we have here.) MailList.HasExplicitDest(): New method. MailList.Post(): use HasExplicitDest if require_explicit_destination set. list_names(): New utility routine to get names of all lists in default list dir, ie dirs there that contain a config.db file.
* Added all_listpaths to easily get the paths to all maillists situatedmailman1998-02-211-0/+10
| | | | | in the default lists directory. Used by new version of archive trigger in cron/archive.
* Initial revisionmailman1998-02-151-0/+467