mirror of
https://github.com/coddingtonbear/django-mailbox.git
synced 2026-07-09 22:38:19 +02:00
Set email payload's charset after all other headers.
This commit is contained in:
parent
2e6c23a6f0
commit
98745bcd70
1 changed files with 9 additions and 2 deletions
|
|
@ -488,13 +488,20 @@ class Message(models.Model):
|
||||||
new.set_payload('')
|
new.set_payload('')
|
||||||
else:
|
else:
|
||||||
payload = msg.get_payload().decode('utf-8')
|
payload = msg.get_payload().decode('utf-8')
|
||||||
|
charset = None
|
||||||
for header, value in msg.items():
|
for header, value in msg.items():
|
||||||
if header == ORIGINAL_CHARSET_HEADER:
|
if header == ORIGINAL_CHARSET_HEADER:
|
||||||
payload.encode(value)
|
payload.encode(value)
|
||||||
new.set_charset(value)
|
charset = value
|
||||||
# We do not want to preserve this header
|
# We do not want to preserve this header.
|
||||||
continue
|
continue
|
||||||
new[header] = value
|
new[header] = value
|
||||||
|
if charset:
|
||||||
|
# If we process ORIGINAL_CHARSET_HEADER before other headers
|
||||||
|
# (in the above), due to some idiosyncrasies of python's email
|
||||||
|
# module, we'll end up with duplicated headers -- set_charset
|
||||||
|
# sets a handful of headers if they do not already exist.
|
||||||
|
new.set_charset(charset)
|
||||||
new.set_payload(payload)
|
new.set_payload(payload)
|
||||||
return new
|
return new
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue