import smtplib
from email.message import EmailMessage

from .config import settings


def enabled() -> bool:
    return bool(settings.smtp_host)


def send(to: str, subject: str, body: str) -> None:
    mail = EmailMessage()
    mail["From"], mail["To"], mail["Subject"] = settings.smtp_from, to, subject
    mail.set_content(body)
    with smtplib.SMTP(settings.smtp_host, settings.smtp_port, timeout=30) as smtp:
        if settings.smtp_tls:
            smtp.starttls()
        if settings.smtp_user:
            smtp.login(settings.smtp_user, settings.smtp_password)
        smtp.send_message(mail)
