Skip to content

[pull] main from django:main#415

Merged
pull[bot] merged 3 commits into
threatcode:mainfrom
django:main
May 14, 2026
Merged

[pull] main from django:main#415
pull[bot] merged 3 commits into
threatcode:mainfrom
django:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 14, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

medmunds and others added 3 commits May 13, 2026 17:00
See DEP 0018.

Added:
* MAILERS setting.
* django.core.mail.mailers dict-like EmailBackend factory.
* `using` argument to mail sending APIs.
* `sent_using` attribute to mail.outbox messages in locmem backend.
* MAILERS in startproject settings template, set to console backend.
* AdminLogHandler.using argument.
* BrokenLinkEmailsMiddleware.send_mail() method.

Updated:
* BaseEmailBackend to track the MAILERS alias used to construct it, and
  to report errors for unknown kwargs (OPTIONS).
* EmailBackend implementations to initialize from kwargs (OPTIONS) only
  when MAILERS is being used.
* smtp.EmailBackend to require `host` option and to default `port`
  option based on SSL/TLS options.
* SimpleTestCase setup to substitute the locmem backend for all defined
  MAILERS configurations.
* Django's tests that send mail to define MAILERS.

Deprecated:
* EMAIL_BACKEND and other backend-related EMAIL_* settings.
* mail.get_connection().
* The `connection`, `fail_silently`, `auth_user`, and `auth_password`
  arguments to mail functions.
* The EmailMessage.connection attribute.
* BaseEmailBackend support for `fail_silently`. Backends that support
  fail_silently (SMTP, console, file) now implement it directly.
* AdminEmailHandler.email_backend argument.

Removed undocumented features without deprecation:
* EmailMessage.get_connection() method. (send() now raises an error if a
  subclass has attempted to override it.)
* EmailMessage.send() no longer sets self.connection to the connection
  used for sending. (It still _uses_ a pre-existing self.connection.)
* AdminEmailHandler.connection() method. (Init now raises an error if a
  subclass has attempted to override it.)

Thanks to Natalia Bidart for shepherding DEP 0018 and for extensive
reviews and suggestions on the implementation.

Thanks to Jacob Rief for the initial implementation and multiple
iterations while refining the design.

Co-authored-by: Jacob Rief <jacob.rief@gmail.com>
@pull pull Bot locked and limited conversation to collaborators May 14, 2026
@pull pull Bot added the ⤵️ pull label May 14, 2026
@pull pull Bot merged commit ed54863 into threatcode:main May 14, 2026
16 of 17 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants