try:
bpayload = payload.encode('ascii', 'surrogateescape')
try:
- payload = bpayload.decode(self.get_param('charset', 'ascii'), 'replace')
+ payload = bpayload.decode(self.get_content_charset('ascii'), 'replace')
except LookupError:
payload = bpayload.decode('ascii', 'replace')
except UnicodeEncodeError:
self.assertEqual(msg.get_payload(decode=True),
'<,.V<W1A; á \n'.encode('utf-8'))
+ def test_rfc2231_charset_8bit_CTE(self):
+ m = textwrap.dedent("""\
+ From: foo@bar.com
+ To: baz
+ Mime-Version: 1.0
+ Content-Type: text/plain; charset*=ansi-x3.4-1968''utf-8
+ Content-Transfer-Encoding: 8bit
+
+ pöstal
+ """).encode('utf-8')
+ msg = email.message_from_bytes(m)
+ self.assertEqual(msg.get_payload(), "pöstal\n")
+ self.assertEqual(msg.get_payload(decode=True),
+ "pöstal\n".encode('utf-8'))
+
headertest_headers = (
('From: foo@bar.com', ('From', 'foo@bar.com')),