diff --git a/backend/btrixcloud/emailsender.py b/backend/btrixcloud/emailsender.py index 8833e5eb..f860b3d2 100644 --- a/backend/btrixcloud/emailsender.py +++ b/backend/btrixcloud/emailsender.py @@ -16,6 +16,8 @@ class EmailSender: self.password = os.environ.get("EMAIL_PASSWORD") self.reply_to = os.environ.get("EMAIL_REPLY_TO") or self.sender self.smtp_server = os.environ.get("EMAIL_SMTP_HOST") + self.smtp_port = int(os.environ.get("EMAIL_SMTP_PORT", 587)) + self.smtp_use_tls = bool(os.environ.get("EMAIL_SMTP_USE_TLS", True)) self.default_origin = os.environ.get("APP_ORIGIN") @@ -35,11 +37,13 @@ class EmailSender: msg.set_content(message) context = ssl.create_default_context() - with smtplib.SMTP(self.smtp_server, 587) as server: - server.ehlo() # Can be omitted - server.starttls(context=context) - server.ehlo() # Can be omitted - server.login(self.sender, self.password) + with smtplib.SMTP(self.smtp_server, self.smtp_port) as server: + if self.smtp_use_tls: + server.ehlo() + server.starttls(context=context) + server.ehlo() + if self.password is not None: + server.login(self.sender, self.password) server.send_message(msg) # server.sendmail(self.sender, receiver, message) diff --git a/chart/templates/secrets.yaml b/chart/templates/secrets.yaml index 244346c8..c72b07f2 100644 --- a/chart/templates/secrets.yaml +++ b/chart/templates/secrets.yaml @@ -14,6 +14,7 @@ stringData: EMAIL_SENDER: "{{ .Values.email.sender_email }}" EMAIL_REPLY_TO: "{{ .Values.email.reply_to }}" EMAIL_PASSWORD: "{{ .Values.email.password }}" + EMAIL_SMTP_USE_TLS: "{{ .Values.email.use_tls }}" SUPERUSER_EMAIL: "{{ .Values.superuser.email }}" SUPERUSER_PASSWORD: "{{ .Values.superuser.password }}" diff --git a/chart/values.yaml b/chart/values.yaml index 7927ab29..bd9aef17 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -282,6 +282,7 @@ email: sender_email: example@example.com password: password reply_to_email: example@example.com + use_tls: True # Deployment options