import smtplib
from email.message import EmailMessage
from app.config import settings


def send_email(to: str, subject: str, body: str, reply_to: str | None = None) -> None:
    if not settings.SMTP_HOST:
        raise RuntimeError("SMTP no configurado")

    msg = EmailMessage()
    msg["Subject"] = subject
    msg["From"] = settings.SMTP_USER
    msg["To"] = to
    if reply_to:
        msg["Reply-To"] = reply_to
    msg.set_content(body)

    with smtplib.SMTP_SSL(settings.SMTP_HOST, settings.SMTP_PORT) as server:
        server.login(settings.SMTP_USER, settings.SMTP_PASSWORD)
        server.send_message(msg)
