handle plain base64 as transfer-encoding in incoming mails
All checks were successful
/ test (push) Successful in 2m31s
/ deploy (push) Successful in 3m19s

This commit is contained in:
j3d1 2025-01-18 22:15:04 +01:00
parent 65755feb2f
commit 0fa52645c2
2 changed files with 36 additions and 3 deletions

View file

@ -128,10 +128,14 @@ def decode_email_segment(segment, charset, transfer_encoding):
decode_as = 'cp1251'
elif charset == 'iso-8859-1':
decode_as = 'latin1'
segment = unescape_and_decode_quoted_printable(segment)
segment = unescape_and_decode_base64(segment)
if transfer_encoding == 'quoted-printable':
segment = unescape_simplified_quoted_printable(segment, decode_as)
elif transfer_encoding == 'base64':
import base64
segment = base64.b64decode(segment).decode('utf-8')
else:
segment = unescape_and_decode_quoted_printable(segment)
segment = unescape_and_decode_base64(segment)
return segment