Author: jezdez Date: 2011-07-03 10:56:05 -0700 (Sun, 03 Jul 2011) New Revision: 16494
Modified: django/trunk/django/core/mail/backends/smtp.py django/trunk/tests/regressiontests/mail/tests.py Log: Fixed #15750 -- Handle empty mail server credentials gracefully. Thanks, LeandroSouza and bedmondmark. Modified: django/trunk/django/core/mail/backends/smtp.py =================================================================== --- django/trunk/django/core/mail/backends/smtp.py 2011-07-03 16:20:48 UTC (rev 16493) +++ django/trunk/django/core/mail/backends/smtp.py 2011-07-03 17:56:05 UTC (rev 16494) @@ -18,8 +18,14 @@ 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: Modified: django/trunk/tests/regressiontests/mail/tests.py =================================================================== --- django/trunk/tests/regressiontests/mail/tests.py 2011-07-03 16:20:48 UTC (rev 16493) +++ django/trunk/tests/regressiontests/mail/tests.py 2011-07-03 17:56:05 UTC (rev 16494) @@ -635,3 +635,24 @@ 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, '') -- You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.