aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman')
-rw-r--r--Mailman/Defaults.py.in3
-rw-r--r--Mailman/Gui/General.py7
-rw-r--r--Mailman/MailList.py2
-rw-r--r--Mailman/Version.py2
-rw-r--r--Mailman/versions.py2
5 files changed, 15 insertions, 1 deletions
diff --git a/Mailman/Defaults.py.in b/Mailman/Defaults.py.in
index bc1c4538..bb9d4e07 100644
--- a/Mailman/Defaults.py.in
+++ b/Mailman/Defaults.py.in
@@ -819,6 +819,9 @@ DEFAULT_ADMIN_IMMED_NOTIFY = Yes
# Is the list owner notified of subscribes/unsubscribes?
DEFAULT_ADMIN_NOTIFY_MCHANGES = No
+# Discard held messages after this days
+DEFAULT_MAX_DAYS_TO_HOLD = 3 # days
+
# Should list members, by default, have their posts be moderated?
DEFAULT_DEFAULT_MEMBER_MODERATION = No
diff --git a/Mailman/Gui/General.py b/Mailman/Gui/General.py
index 7cf1ee06..4b587e05 100644
--- a/Mailman/Gui/General.py
+++ b/Mailman/Gui/General.py
@@ -409,6 +409,13 @@ class General(GUIBase):
headers.)"""))
)
+ # Discard held messages after this number of days
+ rtn.append(
+ ('max_days_to_hold', mm_cfg.Number, 7, 0,
+ _("""Discard held messages older than this number of days.
+ Use 0 for no automatic discarding."""))
+ )
+
return rtn
def _setValue(self, mlist, property, val, doc):
diff --git a/Mailman/MailList.py b/Mailman/MailList.py
index 7eee3524..d44350ca 100644
--- a/Mailman/MailList.py
+++ b/Mailman/MailList.py
@@ -387,6 +387,8 @@ class MailList(HTMLFormatter, Deliverer, ListAdmin,
self.encode_ascii_prefixes = 2
# scrub regular delivery
self.scrub_nondigest = mm_cfg.DEFAULT_SCRUB_NONDIGEST
+ # automatic discarding
+ self.max_days_to_hold = mm_cfg.DEFAULT_MAX_DAYS_TO_HOLD
#
diff --git a/Mailman/Version.py b/Mailman/Version.py
index eebd4094..f7dad1ea 100644
--- a/Mailman/Version.py
+++ b/Mailman/Version.py
@@ -36,7 +36,7 @@ HEX_VERSION = ((MAJOR_REV << 24) | (MINOR_REV << 16) | (MICRO_REV << 8) |
(REL_LEVEL << 4) | (REL_SERIAL << 0))
# config.pck schema version number
-DATA_FILE_VERSION = 91
+DATA_FILE_VERSION = 92
# qfile/*.db schema version number
QFILE_SCHEMA_VERSION = 3
diff --git a/Mailman/versions.py b/Mailman/versions.py
index 02a16e7e..2faee667 100644
--- a/Mailman/versions.py
+++ b/Mailman/versions.py
@@ -400,6 +400,8 @@ def NewVars(l):
add_only_if_missing('filter_filename_extensions',
mm_cfg.DEFAULT_FILTER_FILENAME_EXTENSIONS)
add_only_if_missing('pass_filename_extensions', [])
+ # automatic discard
+ add_only_if_missing('max_days_to_hold', 0)