Member since
07-06-2022
2
Posts
0
Kudos Received
0
Solutions
07-06-2022
04:00 AM
Hi all, Use case is to read email and extract body and other meta data and save it in mongo. msg.get_payload() when I execute above line m getting, "2022=\n 15:23" in response. Quotable printable. msg.get_payload(decode=True) when I execute above line m getting, "2022 15:23" in response. Quotable printable is removed. This is as expected and works locally, when I pass eml file. I am using the later one, "decode=True" on server but it is not decoding quotable printable. quopri.decodestring(body) Then I tried above, but still it is not decoding as expected. Here is entire the script m using in local, running on Jython 2.7.2 import email import quopri msg = email.message_from_file(open("some_eml.eml")) body = "" if msg.is_multipart(): for part in msg.walk(): ctype = part.get_content_type() cdispo = str(part.get('Content-Disposition')) if (ctype == 'text/plain' or ctype == 'text/html') and 'attachment' not in cdispo: body = part.get_content() # decode print(body) break else: body_byte = msg.get_payload() print(repr(body_byte)) body = body_byte.decode("utf-8", 'ignore') print(repr(body)) utf = quopri.decodestring(body) text = utf.decode('utf-8', errors='replace') print(repr(text)) print(text) on server it is same m using without print and necessary boiler plate required for Nifi. Any help appreciated.
... View more
Labels:
- Labels:
-
Apache NiFi