aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman
diff options
context:
space:
mode:
authorYasuhito FUTATSUKI <futatuki@poem.co.jp>2017-05-24 13:32:56 +0900
committerYasuhito FUTATSUKI <futatuki@poem.co.jp>2017-05-24 13:32:56 +0900
commitbb87ece84df2753e481879f45fb9b5da014db893 (patch)
tree74b7bb418516fe2f871cfefb1b4da8169a2b3f75 /Mailman
parent616bb6262452e23384e8d26d03577604c03ddf70 (diff)
parentc498829e94cafdc194a45eaf49d4f75785ac0a7a (diff)
downloadmailman2-bb87ece84df2753e481879f45fb9b5da014db893.tar.gz
mailman2-bb87ece84df2753e481879f45fb9b5da014db893.tar.xz
mailman2-bb87ece84df2753e481879f45fb9b5da014db893.zip
Merge lp:mailman/2.1 rev 1703
Diffstat (limited to '')
-rwxr-xr-xMailman/Defaults.py.in11
-rw-r--r--Mailman/Handlers/SMTPDirect.py5
2 files changed, 16 insertions, 0 deletions
diff --git a/Mailman/Defaults.py.in b/Mailman/Defaults.py.in
index 7a2dc526..e6738192 100755
--- a/Mailman/Defaults.py.in
+++ b/Mailman/Defaults.py.in
@@ -629,6 +629,17 @@ NNTP_REWRITE_DUPLICATE_HEADERS = [
# 3 -> always remove, rename and preserve original DKIM headers.
REMOVE_DKIM_HEADERS = No
+# If the following is set to a non-empty string, that string is the name of a
+# header that will be added to personalized and VERPed deliveries with value
+# equal to the base64 encoding of the recipient's email address. This is
+# intended to enable identification of the recipient otherwise redacted from
+# "spam report" feedback loop messages. For example, if
+# RCPT_BASE64_HEADER_NAME = 'X-Mailman-R-Data'
+# a header like
+# X-Mailman-R-Data: dXNlckBleGFtcGxlLmNvbQo=
+# will be added to messages sent to user@@example.com.
+RCPT_BASE64_HEADER_NAME = ''
+
# All `normal' messages which are delivered to the entire list membership go
# through this pipeline of handler modules. Lists themselves can override the
# global pipeline by defining a `pipeline' attribute.
diff --git a/Mailman/Handlers/SMTPDirect.py b/Mailman/Handlers/SMTPDirect.py
index 3b489c2f..ca6aebdd 100644
--- a/Mailman/Handlers/SMTPDirect.py
+++ b/Mailman/Handlers/SMTPDirect.py
@@ -30,6 +30,7 @@ import copy
import time
import socket
import smtplib
+from base64 import b64encode
from types import UnicodeType
from Mailman import mm_cfg
@@ -371,6 +372,10 @@ def verpdeliver(mlist, msg, msgdata, envsender, failures, conn):
del msgcopy['x-mailman-copy']
if msgdata.get('add-dup-header', {}).has_key(recip):
msgcopy['X-Mailman-Copy'] = 'yes'
+ # If desired, add the RCPT_BASE64_HEADER_NAME header
+ if len(mm_cfg.RCPT_BASE64_HEADER_NAME) > 0:
+ del msgcopy[mm_cfg.RCPT_BASE64_HEADER_NAME]
+ msgcopy[mm_cfg.RCPT_BASE64_HEADER_NAME] = b64encode(recip)
# For the final delivery stage, we can just bulk deliver to a party of
# one. ;)
bulkdeliver(mlist, msgcopy, msgdata, envsender, failures, conn)