Fixed #19382 -- Stopped smtp backend raising exception when already closed
Thanks Sebastian Noack for the report and the initial patch.
This commit is contained in:
parent
1b3f832ab7
commit
ffa50ca352
|
@ -60,6 +60,8 @@ class EmailBackend(BaseEmailBackend):
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
"""Closes the connection to the email server."""
|
"""Closes the connection to the email server."""
|
||||||
|
if self.connection is None:
|
||||||
|
return
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
self.connection.quit()
|
self.connection.quit()
|
||||||
|
|
|
@ -492,6 +492,16 @@ class BaseEmailBackendTests(object):
|
||||||
self.assertEqual(message.get('from'), "tester")
|
self.assertEqual(message.get('from'), "tester")
|
||||||
self.assertEqual(message.get('to'), "django")
|
self.assertEqual(message.get('to'), "django")
|
||||||
|
|
||||||
|
def test_close_connection(self):
|
||||||
|
"""
|
||||||
|
Test that connection can be closed (even when not explicitely opened)
|
||||||
|
"""
|
||||||
|
conn = mail.get_connection(username='', password='')
|
||||||
|
try:
|
||||||
|
conn.close()
|
||||||
|
except Exception as e:
|
||||||
|
self.fail("close() unexpectedly raised an exception: %s" % e)
|
||||||
|
|
||||||
|
|
||||||
class LocmemBackendTests(BaseEmailBackendTests, TestCase):
|
class LocmemBackendTests(BaseEmailBackendTests, TestCase):
|
||||||
email_backend = 'django.core.mail.backends.locmem.EmailBackend'
|
email_backend = 'django.core.mail.backends.locmem.EmailBackend'
|
||||||
|
|
Loading…
Reference in New Issue