#35581: Upgrade django.core.mail to use Python's modern email API
-------------------------------------+-------------------------------------
     Reporter:  Mike Edmunds         |                    Owner:  Mike
         Type:                       |  Edmunds
  Cleanup/optimization               |                   Status:  closed
    Component:  Core (Mail)          |                  Version:  dev
     Severity:  Normal               |               Resolution:  fixed
     Keywords:  email, compat32      |             Triage Stage:  Ready for
                                     |  checkin
    Has patch:  1                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Changes (by Sarah Boyce <42296566+sarahboyce@…>):

 * resolution:   => fixed
 * status:  assigned => closed

Comment:

 In [changeset:"9ab1991689000821a4d86b8617e1c1455a327482" 9ab19916]:
 {{{#!CommitTicketReference repository=""
 revision="9ab1991689000821a4d86b8617e1c1455a327482"
 Fixed #35581 -- Updated django.core.mail to Python's modern email API.

 - Changed EmailMessage.message() to construct a "modern email API"
   email.message.EmailMessage and added policy keyword arg.
 - Added support for modern MIMEPart objects in EmailMessage.attach()
   (and EmailMessage constructor, EmailMessage.attachments list).
 - Updated SMTP EmailBackend to use modern email.policy.SMTP.

 Deprecated:
 - Attaching MIMEBase objects (replace with MIMEPart)
 - BadHeaderError (modern email uses ValueError)
 - SafeMIMEText, SafeMIMEMultipart (unnecessary for modern email)
 - django.core.mail.forbid_multi_line_headers()
   (undocumented, but exposed via `__all__` and in wide use)
 - django.core.mail.message.sanitize_address()
   (undocumented, but in wide use)

 Removed without deprecation (all undocumented):
 - EmailMessage.mixed_subtype
 - EmailMultiAlternatives.alternative_subtype
 - Support for setting (undocumented) EmailMessage.encoding property
   to a legacy email.charset.Charset object

 Related changes:
 - Dropped tests for incorrect RFC 2047 encoding of non-ASCII email
   address localparts. This is specifically prohibited by RFC 2047, and
   not supported by any known MTA or email client. (Python still
   mis-applies encoded-word to non-ASCII localparts, but it is a bug that
   may be fixed in the future.)
 - Added tests that try to discourage using Python's legacy email APIs
   in future updates to django.core.mail.
 }}}
-- 
Ticket URL: <https://code.djangoproject.com/ticket/35581#comment:29>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/django-updates/01070198416b472b-bef2b32c-0191-4e96-99c2-443112326172-000000%40eu-central-1.amazonses.com.

Reply via email to