diff --git a/api/chalicelib/utils/smtp.py b/api/chalicelib/utils/smtp.py index 403f86e0f..ce0b20655 100644 --- a/api/chalicelib/utils/smtp.py +++ b/api/chalicelib/utils/smtp.py @@ -1,5 +1,8 @@ import smtplib +from smtplib import SMTPAuthenticationError + from decouple import config +from starlette.exceptions import HTTPException class EmptySMTP: @@ -31,7 +34,10 @@ class SMTPClient: # stmplib docs recommend calling ehlo() before & after starttls() self.server.ehlo() if len(config("EMAIL_USER", default="")) > 0 and len(config("EMAIL_PASSWORD", default="")) > 0: - self.server.login(user=config("EMAIL_USER"), password=config("EMAIL_PASSWORD")) + try: + self.server.login(user=config("EMAIL_USER"), password=config("EMAIL_PASSWORD")) + except SMTPAuthenticationError: + raise HTTPException(401, "SMTP Authentication Error") return self.server def __exit__(self, *args):