From b056d1850e44ab2cb6827e2b1a4f0d451459e9eb Mon Sep 17 00:00:00 2001 From: Mark Sapiro Date: Sun, 10 Mar 2013 20:27:18 -0700 Subject: Setting digest_size_threshhold to zero now means no digests will be sent based on size instead of a digest being sent with every post. --- Mailman/Gui/Digest.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Mailman/Gui') diff --git a/Mailman/Gui/Digest.py b/Mailman/Gui/Digest.py index f7722019..77691aee 100644 --- a/Mailman/Gui/Digest.py +++ b/Mailman/Gui/Digest.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998,1999,2000,2001,2002 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2013 by the Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -56,8 +56,8 @@ class Digest(GUIBase): _('When receiving digests, which format is default?')), ('digest_size_threshhold', mm_cfg.Number, 3, 0, - _('How big in Kb should a digest be before it gets sent out?')), - # Should offer a 'set to 0' for no size threshhold. + _('How big in Kb should a digest be before it gets sent out?' + ' 0 implies no maximum size.')), ('digest_send_periodic', mm_cfg.Radio, (_('No'), _('Yes')), 1, _('Should a digest be dispatched daily when the size threshold ' -- cgit v1.2.3 From 77626e68e3ad0fd5fdfa7fac5e62a4264003a03a Mon Sep 17 00:00:00 2001 From: Mark Sapiro Date: Fri, 12 Jul 2013 15:11:08 -0700 Subject: - Changed the admin GUI to report only the bad entries in a list of email addresses if any are bad. (LP: #558253) --- Mailman/Gui/GUIBase.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'Mailman/Gui') diff --git a/Mailman/Gui/GUIBase.py b/Mailman/Gui/GUIBase.py index a365acaf..9a8b68fb 100644 --- a/Mailman/Gui/GUIBase.py +++ b/Mailman/Gui/GUIBase.py @@ -63,6 +63,7 @@ class GUIBase: if isinstance(val, ListType): return val addrs = [] + bad_addrs = [] for addr in [s.strip() for s in val.split(NL)]: # Discard empty lines if not addr: @@ -77,22 +78,24 @@ class GUIBase: try: re.compile(addr) except re.error: - raise ValueError + bad_addrs.append(addr) elif (wtype == mm_cfg.EmailListEx and addr.startswith('@') and property.endswith('_these_nonmembers')): # XXX Needs to be reviewed for list@domain names. # don't reference your own list if addr[1:] == mlist.internal_name(): - raise ValueError + bad_addrs.append(addr) # check for existence of list? For now allow # reference to list before creating it. else: - raise + bad_addrs.append(addr) if property in ('regular_exclude_lists', 'regular_include_lists'): if addr.lower() == mlist.GetListEmail().lower(): - raise Errors.EmailAddressError + bad_addrs.append(addr) addrs.append(addr) + if bad_addrs: + raise Errors.EmailAddressError, ', '.join(bad_addrs) return addrs # This is a host name, i.e. verbatim if wtype == mm_cfg.Host: @@ -168,9 +171,9 @@ class GUIBase: except ValueError: doc.addError(_('Invalid value for variable: %(property)s')) # This is the parent of MMBadEmailError and MMHostileAddress - except Errors.EmailAddressError: + except Errors.EmailAddressError, error: doc.addError( - _('Bad email address for option %(property)s: %(val)s')) + _('Bad email address for option %(property)s: %(error)s')) else: # Set the attribute, which will normally delegate to the mlist self._setValue(mlist, property, val, doc) -- cgit v1.2.3 From 9b8cf403719c083270b2d51a0aac22e120355522 Mon Sep 17 00:00:00 2001 From: Mark Sapiro Date: Thu, 18 Jul 2013 20:49:20 -0700 Subject: First cut at the author_is_list feature. --- Mailman/Gui/General.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'Mailman/Gui') diff --git a/Mailman/Gui/General.py b/Mailman/Gui/General.py index e9f8f9b5..53f2e908 100644 --- a/Mailman/Gui/General.py +++ b/Mailman/Gui/General.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2011 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2013 by the Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -154,6 +154,14 @@ class General(GUIBase): (listname %%05d) -> (listname 00123) """)), + ('author_is_list', mm_cfg.Radio, (_('No'), _('Yes')), 0, + _("""Replace the sender with the list address to conform with + policies like ADSP and DMARC. It replaces the poster's address + in the From: header with the list address and adds the poster to + the Reply-To: header, but the anonymous_list and Reply-To: header + munging settings below take priority. If setting this to Yes, + it is advised to set the MTA to DKIM sign all emails.""")), + ('anonymous_list', mm_cfg.Radio, (_('No'), _('Yes')), 0, _("""Hide the sender of a message, replacing it with the list address (Removes From, Sender and Reply-To fields)""")), -- cgit v1.2.3 From 037acd8e92f42f86f5086a570a23466c128fc480 Mon Sep 17 00:00:00 2001 From: Mark Sapiro Date: Fri, 19 Jul 2013 12:24:22 -0700 Subject: Second cut at the author_is_list feature. --- Mailman/Gui/General.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'Mailman/Gui') diff --git a/Mailman/Gui/General.py b/Mailman/Gui/General.py index 53f2e908..d28fe311 100644 --- a/Mailman/Gui/General.py +++ b/Mailman/Gui/General.py @@ -153,15 +153,21 @@ class General(GUIBase): directive. eg.; [listname %%d] -> [listname 123] (listname %%05d) -> (listname 00123) """)), + ] - ('author_is_list', mm_cfg.Radio, (_('No'), _('Yes')), 0, - _("""Replace the sender with the list address to conform with - policies like ADSP and DMARC. It replaces the poster's address - in the From: header with the list address and adds the poster to - the Reply-To: header, but the anonymous_list and Reply-To: header - munging settings below take priority. If setting this to Yes, - it is advised to set the MTA to DKIM sign all emails.""")), - + if mm_cfg.ALLOW_AUTHOR_IS_LIST: + rtn.append( + ('author_is_list', mm_cfg.Radio, (_('No'), _('Yes')), 0, + _("""Replace the sender with the list address to conform with + policies like ADSP and DMARC. It replaces the poster's + address in the From: header with the list address and adds the + poster to the Reply-To: header, but the anonymous_list and + Reply-To: header munging settings below take priority. If + setting this to Yes, it is advised to set the MTA to DKIM sign + all emails.""")) + ) + + rtn.extend([ ('anonymous_list', mm_cfg.Radio, (_('No'), _('Yes')), 0, _("""Hide the sender of a message, replacing it with the list address (Removes From, Sender and Reply-To fields)""")), @@ -382,7 +388,7 @@ class General(GUIBase): useful for selecting among alternative names of a host that has multiple addresses.""")), - ] + ]) if mm_cfg.ALLOW_RFC2369_OVERRIDES: rtn.append( -- cgit v1.2.3 From 5391cce1af71723b92bafc2419cec962f1e3ece3 Mon Sep 17 00:00:00 2001 From: Mark Sapiro Date: Fri, 27 Sep 2013 16:33:35 -0700 Subject: Made author_is_list a 3-way with an option to wrap the message. --- Mailman/Gui/General.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Mailman/Gui') diff --git a/Mailman/Gui/General.py b/Mailman/Gui/General.py index d28fe311..c1c27ff9 100644 --- a/Mailman/Gui/General.py +++ b/Mailman/Gui/General.py @@ -157,14 +157,18 @@ class General(GUIBase): if mm_cfg.ALLOW_AUTHOR_IS_LIST: rtn.append( - ('author_is_list', mm_cfg.Radio, (_('No'), _('Yes')), 0, + ('author_is_list', mm_cfg.Radio, + (_('No'), _('Mung From'), _('Wrap Message')), 0, _("""Replace the sender with the list address to conform with policies like ADSP and DMARC. It replaces the poster's address in the From: header with the list address and adds the poster to the Reply-To: header, but the anonymous_list and Reply-To: header munging settings below take priority. If setting this to Yes, it is advised to set the MTA to DKIM sign - all emails.""")) + all emails.""") + + _("""
If this is set to Wrap Message, just wrap the message + in an outer message From: the list with Content-Type: + message/rfc822.""")) ) rtn.extend([ -- cgit v1.2.3 From 2d8a570e69262584f838526a01df91a3c37de3ad Mon Sep 17 00:00:00 2001 From: Mark Sapiro Date: Sat, 28 Sep 2013 16:08:15 -0700 Subject: Renamed author_is_list to from_is_list. --- Mailman/Gui/General.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Mailman/Gui') diff --git a/Mailman/Gui/General.py b/Mailman/Gui/General.py index c1c27ff9..24bc009a 100644 --- a/Mailman/Gui/General.py +++ b/Mailman/Gui/General.py @@ -155,9 +155,9 @@ class General(GUIBase): """)), ] - if mm_cfg.ALLOW_AUTHOR_IS_LIST: + if mm_cfg.ALLOW_FROM_IS_LIST: rtn.append( - ('author_is_list', mm_cfg.Radio, + ('from_is_list', mm_cfg.Radio, (_('No'), _('Mung From'), _('Wrap Message')), 0, _("""Replace the sender with the list address to conform with policies like ADSP and DMARC. It replaces the poster's -- cgit v1.2.3