Add smtp auth
This commit is contained in:
@@ -25,3 +25,7 @@ pushover_user: "uDhH33UjQQDYtNzJb1ThRiWb9ingGK"
|
|||||||
pushsrv: "pushover"
|
pushsrv: "pushover"
|
||||||
|
|
||||||
dyndomains: {"wrede.org"}
|
dyndomains: {"wrede.org"}
|
||||||
|
smtpserver: "smtp.fastmail.com"
|
||||||
|
smtpuser: "andreas@wrede.ca"
|
||||||
|
smtppassword: "pvtvefyp5gbhnch2"
|
||||||
|
smtpport: 587
|
||||||
|
|||||||
@@ -27,6 +27,11 @@ DEFAULTS = {
|
|||||||
"foreground": False,
|
"foreground": False,
|
||||||
"verbose": False,
|
"verbose": False,
|
||||||
"debug": 0,
|
"debug": 0,
|
||||||
|
"smtpserver": "smtp.fastmail.com",
|
||||||
|
"smtpuser": "andreas@wrede.ca",
|
||||||
|
"smtppassword": "pvtvefyp5gbhnch2",
|
||||||
|
"smtpport": 587
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+10
-2
@@ -24,9 +24,17 @@ def setup(cfg: dict):
|
|||||||
def send_email(aemail, smtpserver, sender, subject, body, debug=0):
|
def send_email(aemail, smtpserver, sender, subject, body, debug=0):
|
||||||
"""Send a plain email via SMTP. Returns True on success."""
|
"""Send a plain email via SMTP. Returns True on success."""
|
||||||
try:
|
try:
|
||||||
server = smtplib.SMTP(smtpserver)
|
smtpport = _config.get("smtpport", 587)
|
||||||
|
server = smtplib.SMTP(smtpserver, smtpport))
|
||||||
if debug > 0:
|
if debug > 0:
|
||||||
server.set_debuglevel(1)
|
server.set_debuglevel(1)
|
||||||
|
if smtpport == 587:
|
||||||
|
server.starttls()
|
||||||
|
server.ehlo()
|
||||||
|
smtpuser = _config.get("smtpuser", None)
|
||||||
|
smtppassword = _config.get("smtp_password", None)
|
||||||
|
if smtpuser and smtppassword:
|
||||||
|
server.login(smtpuser, smtppassword)
|
||||||
server.sendmail(sender, aemail, body)
|
server.sendmail(sender, aemail, body)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warning("email send failed: %s", e)
|
logger.warning("email send failed: %s", e)
|
||||||
@@ -50,7 +58,7 @@ def email(subject: str, msg: str, debug: int = 0) -> bool:
|
|||||||
"""
|
"""
|
||||||
toaddrs = _config.get("AEMAIL") or _config.get("aemail") or _config.get("email_to") or []
|
toaddrs = _config.get("AEMAIL") or _config.get("aemail") or _config.get("email_to") or []
|
||||||
fromemail = _config.get("fromemail") or _config.get("sender") or f"aew.heartbeat@{_config.get('domain','local') }"
|
fromemail = _config.get("fromemail") or _config.get("sender") or f"aew.heartbeat@{_config.get('domain','local') }"
|
||||||
smtpserver = _config.get("SMTPSERVER") or _config.get("smtpserver") or _config.get("SMTPSERVER", "localhost")
|
smtpserver = _config.get("smtpserver") or _config.get("SMTPSERVER", "localhost")
|
||||||
date = time.strftime("%a, %d %b %Y %H:%M:%S %z", time.localtime())
|
date = time.strftime("%a, %d %b %Y %H:%M:%S %z", time.localtime())
|
||||||
body = "To: %s\nFrom: %s\nSubject: %s\nDate: %s\n\n%s" % (
|
body = "To: %s\nFrom: %s\nSubject: %s\nDate: %s\n\n%s" % (
|
||||||
toaddrs[0] if toaddrs else "",
|
toaddrs[0] if toaddrs else "",
|
||||||
|
|||||||
Reference in New Issue
Block a user