From 44f104aa695ce720d0640a30064cd3da191294d7 Mon Sep 17 00:00:00 2001 From: Marius Halden Date: Sun, 12 Apr 2015 16:38:12 +0200 Subject: Try doing recode correctly with multipart --- push.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/push.py b/push.py index b5af9ee..4580f50 100755 --- a/push.py +++ b/push.py @@ -86,21 +86,23 @@ if mail.is_multipart(): # Try to find something plain text for current in mail.walk(): if current.get_content_type() == 'text/plain': - payload = get_payload(decode=True) + payload = current.get_payload(decode=True) + encoding = current.get_charsets()[0] break else: # A realy stupid fallback - payload = mail.get_payload(0) + payload = mail.get_payload(0) + encoding = mail.get_charsets()[0] else: # Hurray no multipart payload = mail.get_payload(decode=True) + encoding = mail.get_charsets()[0] # Recode payload to utf-8 if possible try: - encoding = payload.get_charsets()[0] payload = payload.decode(encoding).encode('utf-8') -except (NameError, TypeError, AttributeError): +except (NameError, TypeError): pass msg = payload.strip() -- cgit v1.2.3