Commit ffa50ca3 authored by Claude Paroz's avatar Claude Paroz
Browse files

Fixed #19382 -- Stopped smtp backend raising exception when already closed

Thanks Sebastian Noack for the report and the initial patch.
parent 1b3f832a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -60,6 +60,8 @@ class EmailBackend(BaseEmailBackend):

    def close(self):
        """Closes the connection to the email server."""
        if self.connection is None:
            return
        try:
            try:
                self.connection.quit()
+10 −0
Original line number Diff line number Diff line
@@ -492,6 +492,16 @@ class BaseEmailBackendTests(object):
        self.assertEqual(message.get('from'), "tester")
        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):
    email_backend = 'django.core.mail.backends.locmem.EmailBackend'