From 0b5ad64e4139ef21393a4bacd49e945cb830adbd Mon Sep 17 00:00:00 2001 From: yan Date: Sat, 27 Sep 2014 18:51:38 +0800 Subject: [PATCH] Decode message in text type --- gmail/message.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gmail/message.py b/gmail/message.py index 9813ce4..ec64851 100644 --- a/gmail/message.py +++ b/gmail/message.py @@ -153,7 +153,13 @@ def parse(self, raw_message): elif content.get_content_type() == "text/html": self.html = content.get_payload(decode=True) elif self.message.get_content_maintype() == "text": - self.body = self.message.get_payload() + if 'Content-Transfer-Encoding' in self.headers and self.headers['Content-Transfer-Encoding'] in ['quoted-printable', 'base64']: + if self.message.get_content_type() == "text/plain": + self.body = self.message.get_payload(decode=True) + elif self.message.get_content_type() == "text/html": + self.html = self.message.get_payload(decode=True) + else: + self.body = self.message.get_payload() self.sent_at = datetime.datetime.fromtimestamp(time.mktime(email.utils.parsedate_tz(self.message['date'])[:9]))