From 8a844e761d098d4005725f991a5e120a1f17cb70 Mon Sep 17 00:00:00 2001 From: Carlton Gibson Date: Tue, 14 Mar 2023 11:10:06 +0100 Subject: [PATCH] Improved connection clean-up for SMTP backend. --- django/core/mail/backends/smtp.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/django/core/mail/backends/smtp.py b/django/core/mail/backends/smtp.py index c7ba06cde2..1ee48269ae 100644 --- a/django/core/mail/backends/smtp.py +++ b/django/core/mail/backends/smtp.py @@ -130,12 +130,14 @@ class EmailBackend(BaseEmailBackend): # Trying to send would be pointless. return 0 num_sent = 0 - for message in email_messages: - sent = self._send(message) - if sent: - num_sent += 1 - if new_conn_created: - self.close() + try: + for message in email_messages: + sent = self._send(message) + if sent: + num_sent += 1 + finally: + if new_conn_created: + self.close() return num_sent def _send(self, email_message):