Corrige le rendu de la page mot de passe, masque la nav si non connecté,
réduit le score spam des emails, et rend le niveau de log configurable - Les styles .login-* étaient définis uniquement dans login.html, donc set_password.html s'affichait sans aucun style. Déplacé dans base.html. - La nav affichait les liens même sans session active. - mail.py ajoute Message-ID/Date et encode en quoted-printable (au lieu de base64) pour réduire le score spam (MISSING_MID, MISSING_DATE, MIME_BASE64_TEXT). - log_level devient une directive de config.json plutôt qu'une variable d'environnement. - README: section démarrage rapide (copie de config.example.json, compose.override.yml pour les surcharges locales).
This commit is contained in:
@ -1,7 +1,8 @@
|
||||
"""Mail delivery via a configured SMTP relay (host/port/credentials in config.json)."""
|
||||
import logging
|
||||
import smtplib
|
||||
from email.mime.text import MIMEText
|
||||
from email.message import EmailMessage
|
||||
from email.utils import make_msgid, formatdate
|
||||
|
||||
logger = logging.getLogger("pointeuse.mail")
|
||||
|
||||
@ -16,10 +17,13 @@ def send_mail(to_addr: str, subject: str, body: str, from_addr: str, smtp_cfg: d
|
||||
password = smtp_cfg.get("password")
|
||||
use_tls = smtp_cfg.get("use_tls", True)
|
||||
|
||||
msg = MIMEText(body)
|
||||
msg = EmailMessage()
|
||||
msg.set_content(body, cte="quoted-printable") # évite MIME_BASE64_TEXT
|
||||
msg["Subject"] = subject
|
||||
msg["From"] = from_addr
|
||||
msg["To"] = to_addr
|
||||
msg["Message-ID"] = make_msgid(domain=from_addr.split("@", 1)[1])
|
||||
msg["Date"] = formatdate(localtime=True)
|
||||
|
||||
logger.info(
|
||||
"envoi mail: to=%r from=%r subject=%r via smtp=%s:%s user=%r tls=%r",
|
||||
|
||||
Reference in New Issue
Block a user