Kaydet (Commit) 277de229 authored tarafından Denis Stebunov's avatar Denis Stebunov Kaydeden (comit) Tim Graham

Fixed #30058 -- Made SMTP EmailBackend.send_messages() return 0 for empty/error cases.

üst 0b54ab06
......@@ -98,13 +98,13 @@ class EmailBackend(BaseEmailBackend):
messages sent.
"""
if not email_messages:
return
return 0
with self._lock:
new_conn_created = self.open()
if not self.connection or new_conn_created is None:
# We failed silently on open().
# Trying to send would be pointless.
return
return 0
num_sent = 0
for message in email_messages:
sent = self._send(message)
......
......@@ -1527,7 +1527,12 @@ class SMTPBackendTests(BaseEmailBackendTests, SMTPBackendTestsBase):
backend.connection = True
backend.open = lambda: None
email = EmailMessage('Subject', 'Content', 'from@example.com', ['to@example.com'])
self.assertEqual(backend.send_messages([email]), None)
self.assertEqual(backend.send_messages([email]), 0)
def test_send_messages_empty_list(self):
backend = smtp.EmailBackend()
backend.connection = True
self.assertEqual(backend.send_messages([]), 0)
def test_send_messages_zero_sent(self):
"""A message isn't sent if it doesn't have any recipients."""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment