summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-03-05 16:45:47 +0100
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-03-05 16:45:47 +0100
commit5b8da0ce53fb6e1b2efed0906381a313d95b3778 (patch)
tree8f71340800502ff3d527b1b364f8cd9950e24692 /service
parent59b46d3b85ad9126c7b439ca37829072d5bbec94 (diff)
Fixed problem when doding mails and with non utf-8 charset.
Diffstat (limited to 'service')
-rw-r--r--service/pixelated/adapter/model/mail.py2
-rw-r--r--service/test/unit/adapter/test_mail.py4
2 files changed, 3 insertions, 3 deletions
diff --git a/service/pixelated/adapter/model/mail.py b/service/pixelated/adapter/model/mail.py
index f912680f..951e6a21 100644
--- a/service/pixelated/adapter/model/mail.py
+++ b/service/pixelated/adapter/model/mail.py
@@ -82,7 +82,7 @@ class Mail(object):
def _parse_charset_header(self, charset_header, default_charset='utf-8'):
try:
- return re.compile('.*charset=(.*);').match(charset_header).group(1)
+ return re.compile('.*charset=([a-zA-Z0-9-]+)').match(charset_header).group(1)
except:
return default_charset
diff --git a/service/test/unit/adapter/test_mail.py b/service/test/unit/adapter/test_mail.py
index 54c421c7..ed7b945a 100644
--- a/service/test/unit/adapter/test_mail.py
+++ b/service/test/unit/adapter/test_mail.py
@@ -174,9 +174,9 @@ class TestPixelatedMail(unittest.TestCase):
self.assertRegexpMatches(mail.html_body, '([\s\S]*100%)')
def test_content_type_header_of_mail_part_is_used(self):
- plain_headers = {'Content-Type': 'text/plain; charset=utf-8', 'Content-Transfer-Encoding': 'quoted-printable'}
+ plain_headers = {'Content-Type': 'text/plain; charset=iso-8859-1', 'Content-Transfer-Encoding': 'quoted-printable'}
html_headers = {'Content-Type': 'text/html; charset=utf-8', 'Content-Transfer-Encoding': 'quoted-printable'}
- parts = {'alternatives': [{'content': 'H=C3=A4llo', 'headers': plain_headers}, {'content': '<p>H=C3=A4llo</p>', 'headers': html_headers}]}
+ parts = {'alternatives': [{'content': 'H=E4llo', 'headers': plain_headers}, {'content': '<p>H=C3=A4llo</p>', 'headers': html_headers}]}
mail = PixelatedMail.from_soledad(None, None, self._create_bdoc(raw='some raw body'), parts=parts, soledad_querier=None)