Add smtp auth

This commit is contained in:
2026-02-06 20:04:12 -05:00
parent e3dd461d04
commit 535b839bfc
3 changed files with 19 additions and 2 deletions
+10 -2
View File
@@ -24,9 +24,17 @@ def setup(cfg: dict):
def send_email(aemail, smtpserver, sender, subject, body, debug=0):
"""Send a plain email via SMTP. Returns True on success."""
try:
server = smtplib.SMTP(smtpserver)
smtpport = _config.get("smtpport", 587)
server = smtplib.SMTP(smtpserver, smtpport))
if debug > 0:
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)
except Exception as 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 []
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())
body = "To: %s\nFrom: %s\nSubject: %s\nDate: %s\n\n%s" % (
toaddrs[0] if toaddrs else "",