summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2013-10-25 11:19:41 +0200
committerClaude Paroz <claude@2xlibre.net>2013-10-25 11:23:19 +0200
commit3afde36d03e2b3b5ff5a265af39d8fb27afa8959 (patch)
tree884be8c3be161eae83ddc506228def33d91c934b
parent43cfc652d250ba6bc746f22ce429d6e0a7e60103 (diff)
Undelete the login() call inadvertantly removed in 4e0a2fe59c
Refs #21271.
-rw-r--r--django/core/mail/backends/smtp.py2
-rw-r--r--tests/mail/tests.py10
2 files changed, 12 insertions, 0 deletions
diff --git a/django/core/mail/backends/smtp.py b/django/core/mail/backends/smtp.py
index df47d4e823..c9e0a18728 100644
--- a/django/core/mail/backends/smtp.py
+++ b/django/core/mail/backends/smtp.py
@@ -56,6 +56,8 @@ class EmailBackend(BaseEmailBackend):
self.connection.ehlo()
self.connection.starttls()
self.connection.ehlo()
+ if self.username and self.password:
+ self.connection.login(self.username, self.password)
except smtplib.SMTPException:
if not self.fail_silently:
raise
diff --git a/tests/mail/tests.py b/tests/mail/tests.py
index a380ecf3d7..4fcea7b8ca 100644
--- a/tests/mail/tests.py
+++ b/tests/mail/tests.py
@@ -880,6 +880,16 @@ class SMTPBackendTests(BaseEmailBackendTests, SimpleTestCase):
self.assertEqual(backend.username, '')
self.assertEqual(backend.password, '')
+ def test_auth_attempted(self):
+ """
+ Test that opening the backend with non empty username/password tries
+ to authenticate against the SMTP server.
+ """
+ backend = smtp.EmailBackend(
+ username='not empty username', password='not empty password')
+ self.assertRaisesMessage(SMTPException,
+ 'SMTP AUTH extension not supported by server.', backend.open)
+
def test_server_stopped(self):
"""
Test that closing the backend while the SMTP server is stopped doesn't