From 2f0eb64a6d543b26aa0a38ff1d5a09389a5b2f5c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20Bie=C3=9Fmann?= Date: Fri, 10 May 2013 00:44:26 +0000 Subject: [PATCH] models: fix From header in mbox view MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The From header in mbox view was corrupt for patch submitters with non-ASCII characters in their names. RFC 2822 requires to retain the mail as ASCII in braces '<' and '>' while the name should be coded. Before we coded the whole string which led to some MUA misinterpret the From header (while git could manage it). Fix this by coding just the name and let the email untouched. Signed-off-by: Andreas Bießmann Signed-off-by: Jeremy Kerr --- apps/patchwork/models.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/patchwork/models.py b/apps/patchwork/models.py index 9129aab..a9e70ce 100644 --- a/apps/patchwork/models.py +++ b/apps/patchwork/models.py @@ -32,12 +32,14 @@ try: from email.mime.nonmultipart import MIMENonMultipart from email.encoders import encode_7or8bit from email.parser import HeaderParser + from email.header import Header import email.utils except ImportError: # Python 2.4 compatibility from email.MIMENonMultipart import MIMENonMultipart from email.Encoders import encode_7or8bit from email.Parser import HeaderParser + from email.Header import Header import email.Utils email.utils = email.Utils @@ -281,7 +283,9 @@ class Patch(models.Model): mail['Subject'] = self.name mail['Date'] = email.utils.formatdate( time.mktime(self.date.utctimetuple())) - mail['From'] = unicode(self.submitter) + mail['From'] = email.utils.formataddr(( + str(Header(self.submitter.name, mail.patch_charset)), + self.submitter.email)) mail['X-Patchwork-Id'] = str(self.id) mail['Message-Id'] = self.msgid mail.set_unixfrom('From patchwork ' + self.date.ctime()) -- 2.39.2