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 du gestionnaire de configuration.

Cette classe utilise les paramètres de configuration pour envoyer des emails, y compris les destinataires, l’émetteur, le serveur SMTP et les informations d’authentification.

Paramètres:

config (ConfigManager) – instance de ConfigManager contenant les paramètres de configuration.

send_email(subject: str, body: str, attachments: List[str] | 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

Paramètres:
  • subject (str) – sujet de l’email.

  • body (str) – corps de l’email (HTML).

  • attachments (Optional[List[str]]) – liste des chemins vers les fichiers à joindre.

_send_ssl(email_string: str)[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É car bien que l’on connaisse le serveur dans notre cas, on ne peut être certain du réseau par contre.

_send_starttls(email_string: str)[source]

Envoie l’email via une connexion STARTTLS. Utilise le port 587 pour STARTTLS.

Paramètres:

email_string (str) – contenu de l’email à envoyer.