"""Mail delivery via a configured SMTP relay (host/port/credentials in config.json).""" import smtplib from email.mime.text import MIMEText def send_mail(to_addr: str, subject: str, body: str, from_addr: str, smtp_cfg: dict): host = smtp_cfg.get("host") if not host: raise RuntimeError("Aucun serveur SMTP configuré (smtp.host manquant dans config.json).") port = int(smtp_cfg.get("port", 587)) user = smtp_cfg.get("user") password = smtp_cfg.get("password") use_tls = smtp_cfg.get("use_tls", True) msg = MIMEText(body) msg["Subject"] = subject msg["From"] = from_addr msg["To"] = to_addr with smtplib.SMTP(host, port, timeout=10) as smtp: if use_tls: smtp.starttls() if user: smtp.login(user, password) smtp.send_message(msg)