Opened 6 hours ago

Closed 5 hours ago

Last modified 112 minutes ago

#36132 closed Cleanup/optimization (wontfix)

Add **kwargs to send_mail() and send_mass_mail() functions

Reported by: Nikolay Fedorov Owned by:
Component: Core (Mail) Version: 5.1
Severity: Normal Keywords: send_email, send_mass_mail, mail
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Tim Graham)

Please add **kwargs to send_mail() and send_mass_mail() functions for pass it to EmailMultiAlternatives like extra arguments - "headers" as example.

Change History (3)

comment:1 by Tim Graham, 5 hours ago

Description: modified (diff)
Resolution: wontfix
Status: newclosed
Summary: Add **kwargs to send_email and send_mass_mail functionsAdd **kwargs to send_mail() and send_mass_mail() functions

The send_mail() API is frozen and won't receive additional kwargs. As the documentation says, "Not all features of the EmailMessage class are available through the send_mail() and related wrapper functions. If you wish to use advanced features, such as BCC’ed recipients, file attachments, or multi-part email, you’ll need to create EmailMessage instances directly."

comment:2 by Nikolay Fedorov, 2 hours ago

But in user.email_user you are pass **kwargs to send_mail which doesn't support this... this is a component inconsistency.

comment:3 by Simon Charette, 112 minutes ago

The fact that user.send_mail delegates **kwargs to mail.send_mail which has a documented signature only makes it so both share the same interface.

I don't see what is incoherent about send_mail not passing arbitrary kwargs to EmailMessage. In other words, I don't see why a function that opts in **kwargs delegation should force all functions down its stack to also do so.

Note: See TracTickets for help on using tickets.
Back to Top