aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman/Handlers
diff options
context:
space:
mode:
authorMark Sapiro <mark@msapiro.net>2016-04-19 15:53:54 -0700
committerMark Sapiro <mark@msapiro.net>2016-04-19 15:53:54 -0700
commita70edc26ac027f6278a38bbe10c921b962adbf7a (patch)
tree3013f072c05d5cd9ca324e5aa1dea28dfd8c72cb /Mailman/Handlers
parentd90dcb330021a6bac598e7a032da77e4b1559034 (diff)
downloadmailman2-a70edc26ac027f6278a38bbe10c921b962adbf7a.tar.gz
mailman2-a70edc26ac027f6278a38bbe10c921b962adbf7a.tar.xz
mailman2-a70edc26ac027f6278a38bbe10c921b962adbf7a.zip
Use nonmember_rejection_notice as the default reject reason for a held
nonmember post.
Diffstat (limited to 'Mailman/Handlers')
-rw-r--r--Mailman/Handlers/Hold.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/Mailman/Handlers/Hold.py b/Mailman/Handlers/Hold.py
index 5452d06a..dcc7f963 100644
--- a/Mailman/Handlers/Hold.py
+++ b/Mailman/Handlers/Hold.py
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2011 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2016 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
@@ -28,6 +28,7 @@ Finally an exception is raised to let the pipeline machinery know that further
message handling should stop.
"""
+import re
import email
from email.MIMEText import MIMEText
from email.MIMEMessage import MIMEMessage
@@ -220,7 +221,14 @@ def hold_for_approval(mlist, msg, msgdata, exc):
# We need to send both the reason and the rejection notice through the
# translator again, because of the games we play above
reason = Utils.wrap(exc.reason_notice())
- msgdata['rejection_notice'] = Utils.wrap(exc.rejection_notice(mlist))
+ if isinstance(exc, NonMemberPost) and mlist.nonmember_rejection_notice:
+ msgdata['rejection_notice'] = Utils.wrap(re.sub(
+ '%(listowner)s',
+ mlist.GetOwnerEmail(),
+ mlist.nonmember_rejection_notice,
+ ))
+ else:
+ msgdata['rejection_notice'] = Utils.wrap(exc.rejection_notice(mlist))
id = mlist.HoldMessage(msg, reason, msgdata)
# Now we need to craft and send a message to the list admin so they can
# deal with the held message.