feat: add SMTP {port, use_tls} config (#1142)
* feat: add SMTP {port, use_tls} config
* If `password` is None don't attempt to log in
* remove 'can be omitted' comment
---------
Co-authored-by: Ilya Kreymer <ikreymer@users.noreply.github.com>
This commit is contained in:
parent
e75b207f7e
commit
e57148d0e9
@ -16,6 +16,8 @@ class EmailSender:
|
|||||||
self.password = os.environ.get("EMAIL_PASSWORD")
|
self.password = os.environ.get("EMAIL_PASSWORD")
|
||||||
self.reply_to = os.environ.get("EMAIL_REPLY_TO") or self.sender
|
self.reply_to = os.environ.get("EMAIL_REPLY_TO") or self.sender
|
||||||
self.smtp_server = os.environ.get("EMAIL_SMTP_HOST")
|
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")
|
self.default_origin = os.environ.get("APP_ORIGIN")
|
||||||
|
|
||||||
@ -35,10 +37,12 @@ class EmailSender:
|
|||||||
msg.set_content(message)
|
msg.set_content(message)
|
||||||
|
|
||||||
context = ssl.create_default_context()
|
context = ssl.create_default_context()
|
||||||
with smtplib.SMTP(self.smtp_server, 587) as server:
|
with smtplib.SMTP(self.smtp_server, self.smtp_port) as server:
|
||||||
server.ehlo() # Can be omitted
|
if self.smtp_use_tls:
|
||||||
|
server.ehlo()
|
||||||
server.starttls(context=context)
|
server.starttls(context=context)
|
||||||
server.ehlo() # Can be omitted
|
server.ehlo()
|
||||||
|
if self.password is not None:
|
||||||
server.login(self.sender, self.password)
|
server.login(self.sender, self.password)
|
||||||
server.send_message(msg)
|
server.send_message(msg)
|
||||||
# server.sendmail(self.sender, receiver, message)
|
# server.sendmail(self.sender, receiver, message)
|
||||||
|
|||||||
@ -14,6 +14,7 @@ stringData:
|
|||||||
EMAIL_SENDER: "{{ .Values.email.sender_email }}"
|
EMAIL_SENDER: "{{ .Values.email.sender_email }}"
|
||||||
EMAIL_REPLY_TO: "{{ .Values.email.reply_to }}"
|
EMAIL_REPLY_TO: "{{ .Values.email.reply_to }}"
|
||||||
EMAIL_PASSWORD: "{{ .Values.email.password }}"
|
EMAIL_PASSWORD: "{{ .Values.email.password }}"
|
||||||
|
EMAIL_SMTP_USE_TLS: "{{ .Values.email.use_tls }}"
|
||||||
|
|
||||||
SUPERUSER_EMAIL: "{{ .Values.superuser.email }}"
|
SUPERUSER_EMAIL: "{{ .Values.superuser.email }}"
|
||||||
SUPERUSER_PASSWORD: "{{ .Values.superuser.password }}"
|
SUPERUSER_PASSWORD: "{{ .Values.superuser.password }}"
|
||||||
|
|||||||
@ -282,6 +282,7 @@ email:
|
|||||||
sender_email: example@example.com
|
sender_email: example@example.com
|
||||||
password: password
|
password: password
|
||||||
reply_to_email: example@example.com
|
reply_to_email: example@example.com
|
||||||
|
use_tls: True
|
||||||
|
|
||||||
|
|
||||||
# Deployment options
|
# Deployment options
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user