aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman
diff options
context:
space:
mode:
authorMark Sapiro <mark@msapiro.net>2016-01-21 14:43:42 -0800
committerMark Sapiro <mark@msapiro.net>2016-01-21 14:43:42 -0800
commit38130ec85d2cc75b70f647b0b1f9a769a196d6a9 (patch)
tree030944cdd0831406409ff63ed0df6301c82fabfb /Mailman
parent8f79812f3e5537f06e3da4514d3373c32a89f619 (diff)
downloadmailman2-38130ec85d2cc75b70f647b0b1f9a769a196d6a9.tar.gz
mailman2-38130ec85d2cc75b70f647b0b1f9a769a196d6a9.tar.xz
mailman2-38130ec85d2cc75b70f647b0b1f9a769a196d6a9.zip
Fixed garbled From: with DMARC mitigations and non-ascii display name.
Diffstat (limited to 'Mailman')
-rwxr-xr-xMailman/Handlers/CookHeaders.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/Mailman/Handlers/CookHeaders.py b/Mailman/Handlers/CookHeaders.py
index 4e005dc5..8b371b77 100755
--- a/Mailman/Handlers/CookHeaders.py
+++ b/Mailman/Handlers/CookHeaders.py
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2015 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
@@ -152,8 +152,11 @@ def process(mlist, msg, msgdata):
realname = email
# Remove domain from realname if it looks like an email address
realname = re.sub(r'@([^ .]+\.)+[^ .]+$', '---', realname)
+ # RFC 2047 encode realname if necessary.
+ realname = str(uheader(mlist, realname))
+ lrn = mlist.real_name
change_header('From',
- formataddr(('%s via %s' % (realname, mlist.real_name),
+ formataddr((_('%(realname)s via %(lrn)s'),
mlist.GetListEmail())),
mlist, msg, msgdata)
else: