From ee04f42897fce23bcffcc51db4878ff2f5151e1d Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Tue, 12 Apr 2022 14:43:41 -0700 Subject: [PATCH] send_email: Only warn if EMAIL_HOST_PASSWORD is unset, not "". Some email hosts actually do want an empty password; since the default is `None`, we should key on that, and not just being false-y. --- zerver/lib/send_email.py | 2 +- zerver/tests/test_send_email.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/zerver/lib/send_email.py b/zerver/lib/send_email.py index 8fae31424b..c49f6fd744 100644 --- a/zerver/lib/send_email.py +++ b/zerver/lib/send_email.py @@ -597,7 +597,7 @@ def log_email_config_errors() -> None: The purpose of this function is to log (potential) config errors, but without raising an exception. """ - if settings.EMAIL_HOST_USER and not settings.EMAIL_HOST_PASSWORD: + if settings.EMAIL_HOST_USER and settings.EMAIL_HOST_PASSWORD is None: logger.error( "An SMTP username was set (EMAIL_HOST_USER), but password is unset (EMAIL_HOST_PASSWORD)." ) diff --git a/zerver/tests/test_send_email.py b/zerver/tests/test_send_email.py index 986f9c8183..208875db6c 100644 --- a/zerver/tests/test_send_email.py +++ b/zerver/tests/test_send_email.py @@ -168,3 +168,13 @@ class TestSendEmail(ZulipTestCase): "An SMTP username was set (EMAIL_HOST_USER), but password is unset (EMAIL_HOST_PASSWORD)." ], ) + + # Empty string is OK + with self.settings(EMAIL_HOST_USER="test", EMAIL_HOST_PASSWORD=""): + send_email( + "zerver/emails/password_reset", + to_emails=[hamlet], + from_name="From Name", + from_address=FromAddress.NOREPLY, + language="en", + )