diff options
-rw-r--r-- | Lib/email/Parser.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Lib/email/Parser.py b/Lib/email/Parser.py index 5fea3c3..6dfa4d3 100644 --- a/Lib/email/Parser.py +++ b/Lib/email/Parser.py @@ -221,9 +221,13 @@ class Parser: # msgobj in this case is the "message/rfc822" container msgobj = self.parsestr(parthdrs, headersonly=1) # while submsgobj is the message itself - submsgobj = self.parsestr(part) - msgobj.attach(submsgobj) msgobj.set_default_type('message/rfc822') + maintype = msgobj.get_content_maintype() + if maintype in ('message', 'multipart'): + submsgobj = self.parsestr(part) + msgobj.attach(submsgobj) + else: + msgobj.set_payload(part) else: msgobj = self.parsestr(part) container.preamble = preamble |