Envoi d’Email
Le module EnvoyerMail
gère l’envoi d’emails via un serveur SMTP.
Usage
Ce module est utilisé par NotificationManager pour envoyer les rapports d’analyse par email.
Fonctionnalités
Envoi d’emails au format HTML.
Prise en charge des pièces jointes multiples.
Support des modes de sécurité SSL/TLS et STARTTLS.
Configuration via le ConfigManager.
Modules
- class src.smart_watch.core.EnvoyerMail.EmailSender(config: ConfigManager)[source]
Bases :
object
Classe pour envoyer des emails via SMTP.
- __init__(config: ConfigManager)[source]
Initialise l’EmailSender avec la configuration.
- Paramètres:
config (ConfigManager) – Instance de ConfigManager contenant les paramètres de configuration.
- config
Configuration email extraite de l’instance ConfigManager.
- logger
Instance de logger pour cette classe.
- Lève:
ValueError – Si la configuration email n’est pas valide.
- send_email(subject: str, body: str, attachments: List[str] | None = None) None [source]
Envoie un email avec support pour pièces jointes multiples.
L’envoi se fait avec _send_ssl ou _send_starttls en fonction du port configuré :
Port 465 : SSL/TLS
Port 587 : STARTTLS
- _send_ssl(email_string: str) None [source]
Envoie l’email via une connexion SSL/TLS.
Utilise le port 465 pour la connexion SSL.
- Paramètres:
email_string (str) – Contenu de l’email à envoyer.
Avertissement
Cette méthode utilise une connexion SSL/TLS non vérifiée pour contourner les erreurs de certificat SSL. Ceci est INSECURISÉ.