diff --git a/feedbackloop/arf.py b/feedbackloop/arf.py index eb7cc72d0002ab1652319f9f43b43afa63c66241..592e58902fee1ba5a1a9f094d8c56d5163448ee9 100644 --- a/feedbackloop/arf.py +++ b/feedbackloop/arf.py @@ -18,7 +18,7 @@ http://www.faqs.org/rfcs/rfc5965.html """ import json -from email.parser import Parser +from email.parser import BytesParser from email.message import Message class ARFMessage(object): @@ -26,7 +26,7 @@ class ARFMessage(object): """ def __init__(self, arf_source): - self._message = Parser().parsestr(arf_source) + self._message = BytesParser().parsebytes(arf_source) def _get_part(self, subtype): for part in self._message.walk(): diff --git a/feedbackloop/parse.py b/feedbackloop/parse.py index aa35ab1eb70799cd1588ae577cd9d6697750c6b1..d28d358190ef72a243faeaed374df3920346f9d5 100644 --- a/feedbackloop/parse.py +++ b/feedbackloop/parse.py @@ -114,7 +114,7 @@ class MailScanner(): try: # Parse the ARF message body. - msg = ARFMessage(raw_msg.decode('utf-8')) + msg = ARFMessage(raw_msg) report_sender, _ = _normalize_addr( _hdr(msg.get_message_headers(), 'From'))