The 'lower' method is called on a Header object when trying to parse the attached file.
Code:
import email
import sys
with open(sys.argv[1], "rb") as f:
msg = email.message_from_binary_file(f)
print (len(msg))
Traceback:
msg = email.message_from_binary_file(f)
File "/usr/lib/python3.5/email/__init__.py", line 62, in message_from_binary_file
return BytesParser(*args, **kws).parse(fp)
File "/usr/lib/python3.5/email/parser.py", line 110, in parse
return self.parser.parse(fp, headersonly)
File "/usr/lib/python3.5/email/parser.py", line 57, in parse
feedparser.feed(data)
File "/usr/lib/python3.5/email/feedparser.py", line 178, in feed
self._call_parse()
File "/usr/lib/python3.5/email/feedparser.py", line 182, in _call_parse
self._parse()
File "/usr/lib/python3.5/email/feedparser.py", line 322, in _parsegen
if (self._cur.get('content-transfer-encoding', '8bit').lower()
AttributeError: 'Header' object has no attribute 'lower' |