change content transfer encoding before setting payload

This commit is contained in:
revsuine 2024-11-15 18:30:54 +00:00
parent aa901c2db4
commit 7fe4b8103c
Signed by: revsuine
GPG key ID: 3F257B68F5BC9339

View file

@ -88,12 +88,12 @@ def decode_email(message: email.message.Message) -> email.message.Message:
if message.is_multipart(): if message.is_multipart():
for part in message.walk(): for part in message.walk():
if part.get('Content-Transfer-Encoding') in ('quoted-printable', 'base64'): if part.get('Content-Transfer-Encoding') in ('quoted-printable', 'base64'):
part.set_payload(part.get_payload(decode=True))
set_email_header(part, 'Content-Transfer-Encoding', '7bit') set_email_header(part, 'Content-Transfer-Encoding', '7bit')
part.set_payload(part.get_payload(decode=True))
else: else:
if message.get('Content-Transfer-Encoding') in ('quoted-printable', 'base64'): if message.get('Content-Transfer-Encoding') in ('quoted-printable', 'base64'):
message.set_payload(message.get_payload(decode=True))
set_email_header(message, 'Content-Transfer-Encoding', '7bit') set_email_header(message, 'Content-Transfer-Encoding', '7bit')
message.set_payload(message.get_payload(decode=True))
return message return message