Opened 45 hours ago
Closed 41 hours ago
#36805 closed Uncategorized (wontfix)
Use `None` as default value for `from_email` in `send_mail`-function
| Reported by: | Adrian Bürger | Owned by: | |
|---|---|---|---|
| Component: | Core (Mail) | Version: | 4.2 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
The docstring of the function send_mail states that
"If from_email is None, use the DEFAULT_FROM_EMAIL setting."
from_email is a required argument which would explicitly need to be set to None so that DEFAULT_FROM_EMAIL is applied. However, other inputs of this function such as auth_user and auth_password which have a settings-value applied if they are None, are given a default value of None. Therefore, I am not a sure whether this behavior is intended; personally, I would expect from_email to have a default value of None. Otherwise, users get an unexpected TypeError: send_mail() missing 1 required positional argument: 'from_email'.
I see this in Django 4.2 but still also in the current main branch on GitHub.
Thank you for your consideration and for your work.
Thanks for the ticket. If the proposal is to change the signature, it's not worth breaking backward compatibility if it's not causing any issues.