Opened 6 years ago

Last modified 6 years ago

#29830 closed Bug

EmailMessage does not respect body encoding — at Initial Version

Reported by: Jannik Schürg Owned by: nobody
Component: Core (Mail) Version: dev
Severity: Normal Keywords: email, mail, encoding
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I want to change the body encoding (base64, quoted-printible) of an email. Example code:

from email import charset
from django.core.mail import EmailMessage

msg = EmailMessage("Subject", "Hello World")
encoding = charset.Charset("utf--8")
encoding.body_encoding = charset.QP
msg.encoding = encoding
print(msg)  # Is not encoded with quoted-printables

The quoted-printible encoding in this case is overwritten in SafeMIMEText. The encoding property of EmailMessage seems not to be documented? I attached a patch which changes the bahvior of SafeMIMEText for the case a email.charset.Charset object was given.

Another idea is to add a new property to EmailMessage.__init__ which allows to set the body encoding.

Versions 1.11 through master are affected.

Change History (1)

by Jannik Schürg, 6 years ago

Attachment: patch.diff added
Note: See TracTickets for help on using tickets.
Back to Top