From 78f4664a2586caf2e9b7d3f0ed3de1f189cef107 Mon Sep 17 00:00:00 2001 From: Moriyoshi Koizumi <mozo@mozo.jp> Date: Mon, 19 Aug 2013 23:17:27 +0900 Subject: [PATCH] Do not try to autodetect charset if the payload is already fancy-encoded (i.e. base64 or quoted-printable encoded) --- repoze/sendmail/encoding.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/repoze/sendmail/encoding.py b/repoze/sendmail/encoding.py index 03fff54..51bf57d 100644 --- a/repoze/sendmail/encoding.py +++ b/repoze/sendmail/encoding.py @@ -71,10 +71,11 @@ def cleanup_message(message, payload = message.get_payload() if payload and isinstance(payload, text_type): - charset = message.get_charset() - if not charset: - charset, encoded = best_charset(payload) - message.set_payload(payload, charset=charset) + if message['Content-Transfer-Encoding'] not in ('base64', 'quoted-printable'): + charset = message.get_charset() + if not charset: + charset, encoded = best_charset(payload) + message.set_payload(payload, charset=charset) elif isinstance(payload, list): for part in payload: cleanup_message(part)