aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Halden <marius.h@lden.org>2015-04-12 16:38:12 +0200
committerMarius Halden <marius.h@lden.org>2015-04-12 16:38:12 +0200
commit44f104aa695ce720d0640a30064cd3da191294d7 (patch)
treee1653731145a835277384e16c225c07746de7278
parente5743278faffa3b8c883c4142f357c59486b2e15 (diff)
downloademail2push-44f104aa695ce720d0640a30064cd3da191294d7.tar.gz
email2push-44f104aa695ce720d0640a30064cd3da191294d7.tar.bz2
email2push-44f104aa695ce720d0640a30064cd3da191294d7.tar.xz
Try doing recode correctly with multipart
-rwxr-xr-xpush.py10
1 files 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()