elysium / backend /tools /email_tool.py
pmrinal2005's picture
Upload folder using huggingface_hub
a521353 verified
Raw
History Blame Contribute Delete
829 Bytes
import smtplib, os, json, time
from email.message import EmailMessage
from ..config import OUTBOX
def run(params: dict) -> dict:
host = os.environ.get("SMTP_HOST"); user = os.environ.get("SMTP_USER")
pw = os.environ.get("SMTP_PASS"); port = int(os.environ.get("SMTP_PORT", "587"))
if not all([host, user, pw]):
# queue to outbox
f = OUTBOX / f"email_{int(time.time()*1000)}.json"
f.write_text(json.dumps(params, indent=2))
return {"status": "queued", "outbox": str(f)}
msg = EmailMessage()
msg["From"] = user; msg["To"] = params["to"]; msg["Subject"] = params.get("subject", "")
msg.set_content(params.get("body", ""))
with smtplib.SMTP(host, port) as s:
s.starttls(); s.login(user, pw); s.send_message(msg)
return {"status": "sent"}