Fixed #15750 -- Handle empty mail server credentials gracefully. Thanks, LeandroSouza and bedmondmark.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16494 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
1d270ac8a3
commit
3bd23ee96f
|
@ -18,8 +18,14 @@ class EmailBackend(BaseEmailBackend):
|
|||
super(EmailBackend, self).__init__(fail_silently=fail_silently)
|
||||
self.host = host or settings.EMAIL_HOST
|
||||
self.port = port or settings.EMAIL_PORT
|
||||
self.username = username or settings.EMAIL_HOST_USER
|
||||
self.password = password or settings.EMAIL_HOST_PASSWORD
|
||||
if username is None:
|
||||
self.username = settings.EMAIL_HOST_USER
|
||||
else:
|
||||
self.username = username
|
||||
if password is None:
|
||||
self.password = settings.EMAIL_HOST_PASSWORD
|
||||
else:
|
||||
self.password = password
|
||||
if use_tls is None:
|
||||
self.use_tls = settings.EMAIL_USE_TLS
|
||||
else:
|
||||
|
|
|
@ -635,3 +635,24 @@ class SMTPBackendTests(BaseEmailBackendTests, TestCase):
|
|||
|
||||
def get_mailbox_content(self):
|
||||
return self.server.get_sink()
|
||||
|
||||
@override_settings(EMAIL_HOST_USER="not empty username",
|
||||
EMAIL_HOST_PASSWORD="not empty password")
|
||||
def test_email_authentication_use_settings(self):
|
||||
backend = smtp.EmailBackend()
|
||||
self.assertEqual(backend.username, 'not empty username')
|
||||
self.assertEqual(backend.password, 'not empty password')
|
||||
|
||||
@override_settings(EMAIL_HOST_USER="not empty username",
|
||||
EMAIL_HOST_PASSWORD="not empty password")
|
||||
def test_email_authentication_override_settings(self):
|
||||
backend = smtp.EmailBackend(username='username', password='password')
|
||||
self.assertEqual(backend.username, 'username')
|
||||
self.assertEqual(backend.password, 'password')
|
||||
|
||||
@override_settings(EMAIL_HOST_USER="not empty username",
|
||||
EMAIL_HOST_PASSWORD="not empty password")
|
||||
def test_email_disabled_authentication(self):
|
||||
backend = smtp.EmailBackend(username='', password='')
|
||||
self.assertEqual(backend.username, '')
|
||||
self.assertEqual(backend.password, '')
|
||||
|
|
Loading…
Reference in New Issue