Added an utility function to get email payload as unicode text.

- Legacy-Id: 17800
This commit is contained in:
Henrik Levkowetz 2020-05-15 14:50:22 +00:00
parent 2b68095b82
commit 6318d49b40

View file

@ -616,6 +616,18 @@ def get_email_addresses_from_text(text):
return [ formataddr(e) for e in getaddresses([text, ]) if valid(e) ]
def get_payload(msg, decode=False):
return msg.get_payload(decode=decode)
def get_payload_text(msg, decode=True):
charset = msg.get_charset()
payload = msg.get_payload(decode=decode)
try:
payload = payload.decode(str(charset))
except UnicodeDecodeError as e:
sys.stderr.write("Exception: %s\n" % e)
sys.stderr.write("Payload: %s\n" % payload)
raise
return payload