Кодировка Unicode в электронной почте

Я вручную создал и отправил себе электронное письмо в формате HTML в Gmail. Я хочу иметь возможность повторно использовать этот html-вывод для его программной отправки (используя smtplib в python).

В Gmail я просматриваю исходный код, который выглядит так:

Mime-версия: 1.0 Content-Type: multipart / alternate; border = "- == _ mimepart_57daadsdas2e101427152ee"; charset = UTF-8 ---- == _ mimepart_57daadsdas2e101427152ee Content-Type: text / plain; charset = UTF-8 Content-Transfer-Encoding: цитируемый-печатный

Всем привет! = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D = 3D

Венес d = C3 = A9couvrir

Моя проблема в том, что когда я затем пытаюсь программно отправить этот контент как html, он отображается неправильно. Я подозреваю, что это из-за преобразования Unicode. Я не могу преобразовать обратно, например, символы «d = C3 = A9couvrir» в то, что должно быть: «découvrir».

Может ли кто-нибудь помочь?


person DevShark    schedule 25.09.2016    source источник
comment
Эти два шестнадцатеричных кода действительно являются правильным UTF8-представлением e acute, поэтому проблема заключается в другом. Где ваш код, который его отправляет?   -  person Jongware    schedule 26.09.2016


Ответы (1)


Есть несколько более подходящих примеров MIME, но простой ответ из заголовков заключается в том, что это кодировка UTF8 и quoted-printable, поэтому вы можете использовать модуль quopri:

>>> quopri.decodestring('Venez d=C3=A9couvrir').decode('utf8')
'Venez découvrir'
person Mark Tolonen    schedule 25.09.2016