diff options
Diffstat (limited to 'django')
-rw-r--r-- | django/core/mail/backends/smtp.py | 14 |
1 files 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): |