Opened 3 years ago

Closed 2 years ago

Last modified 2 years ago

#22161 closed Cleanup/optimization (fixed)

Document that sending an email with no recipients fails silently

Reported by: ian@… Owned by: Orlando Romero
Component: Documentation Version: 1.6
Severity: Normal Keywords: afraid-to-commit
Cc: eromijn@… Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

If EmailMessage.recipients() is empty, EmailMessage.send() returns 0 instead of raising an exception, even if fail_silently is False.

Change History (12)

comment:1 Changed 3 years ago by ian@…

Has patch: set

comment:2 Changed 3 years ago by Claude Paroz

Triage Stage: UnreviewedReady for checkin

comment:3 Changed 3 years ago by Erik Romijn

Cc: eromijn@… added

But that's technically not an error condition. send() does exactly what you asked it to do: send a mail to all recipients you specified. Why should this throw an exception?

Also, people may have become dependent on the behaviour that send() can be called even though recipients is empty. Therefore, if we do change this, I think it warrants at least a mention in the release notes, as a backwards incompatible change, although it will probably not hit too many users. I checked briefly, but it seems the current behaviour is not explicitly documented.

comment:4 Changed 3 years ago by Claude Paroz

Needs documentation: set
Triage Stage: Ready for checkinAccepted

comment:5 Changed 3 years ago by ian@…

I'm happy to add some documentation for this, but I'm not sure where is appropriate.

comment:6 Changed 3 years ago by Claude Paroz

Erik has a point in his comment:3. We should first ponder arguments for or against raising an exception when sending email with no recipients.

comment:7 Changed 2 years ago by Tim Graham

Component: Core (Mail)Documentation
Has patch: unset
Needs documentation: unset
Summary: Sending an email with no recipients fails silentlyDocument that sending an email with no recipients fails silently
Type: BugCleanup/optimization

I think we should document the behavior. The EmailMessage class and receipients argument is documented in docs/topics/email.txt.

comment:8 Changed 2 years ago by Daniele Procida

Keywords: afraid-to-commit added

I've marked this ticket as especially suitable for people following the ​Don't be afraid to commit tutorial at the DjangoCon US 2014 sprints.

If you're tackling this ticket, please don't hesitate to ask me for guidance if you'd like any, either at the sprints themselves, or here or on the Django IRC channels, where I can be found as EvilDMP.

comment:9 Changed 2 years ago by Orlando Romero

Owner: changed from nobody to Orlando Romero
Status: newassigned

comment:10 Changed 2 years ago by Tim Graham <timograham@…>

Resolution: fixed
Status: assignedclosed

In 0f0a5c07f9f0f4d18d4c048ed6d9554965f79d5b:

Fixed #22161 -- Documented send() with no recipients won't raise an exception.

comment:11 Changed 2 years ago by Tim Graham <timograham@…>

In 414e3fc59dcb429d9d96a91348f7c0eb661d70fa:

[1.6.x] Fixed #22161 -- Documented send() with no recipients won't raise an exception.

Backport of 0f0a5c07f9 from master

comment:12 Changed 2 years ago by Tim Graham <timograham@…>

In af28f3c17515a1de9abb668942e896d777b67cba:

[1.7.x] Fixed #22161 -- Documented send() with no recipients won't raise an exception.

Backport of 0f0a5c07f9 from master

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