Email Configuration
Le module EmailConfigManager
centralise la configuration pour l’envoi d’e-mails via SMTP, utilisée pour l’envoi des rapports.
Usage
EmailConfigManager
est instancié par le ConfigManager central. L’accès se fait via ConfigManager.email
.
Fonctionnalités
Configuration SMTP : gère les paramètres du serveur SMTP, le port, l’identifiant et le mot de passe.
Gestion des destinataires : prend en charge un ou plusieurs destinataires en parsant une chaîne de caractères séparée par des virgules depuis la variable d’environnement
MAIL_RECEPTEUR
.Structure de données : utilise le dataclass
EmailConfig
pour stocker les paramètres de manière propre et typée.Validation : la méthode
validate
assure que les paramètres essentiels sont présents et valides. Elle vérifie le format des adresses e-mail (émetteur et destinataires) et s’assure que le port SMTP est dans une plage valide.
Modules
- class src.smart_watch.config.email_config.EmailConfig(emetteur: str, recepteurs: List[str], smtp_server: str, smtp_port: int, smtp_password: str, smtp_login: str | None = None)[source]
Bases :
object
Dataclasse pour stocker les paramètres de configuration email.
- class src.smart_watch.config.email_config.EmailConfigManager(env_file: Path | None = None)[source]
Bases :
BaseConfig
Gère le chargement et la validation de la configuration email depuis les variables d’environnement.
Cette classe hérite de BaseConfig et fournit des méthodes pour initialiser et valider les paramètres email, en s’assurant que tous les paramètres requis sont présents et correctement formatés.
- config
objet de configuration email chargé.
- Type:
- __init__(env_file: Path | None = None) None [source]
Initialise le gestionnaire de configuration email.
- Paramètres:
env_file (Optional[Path], optional) – chemin vers le fichier d’environnement.
- _init_email_config() EmailConfig [source]
Initialise la configuration email à partir des variables d’environnement.
- Renvoie:
un objet EmailConfig si toutes les variables requises sont trouvées.
- Type renvoyé:
- Lève:
ValueError – si une variable d’environnement requise est manquante ou invalide.
- validate() bool [source]
Valide la configuration email. Lève une exception si la configuration est absente ou incomplète.
- _load_environment()
Charge les variables d’environnement depuis le fichier .env.
Réinitialise d’abord les variables (sauf en environnement conteneurisé) puis charge celles du fichier .env. Si le fichier n’existe pas, utilise les variables système existantes.
- _reset_environment()
Réinitialise les variables d’environnement du fichier .env.
Supprime les variables chargées depuis le fichier .env pour éviter les conflits avec les variables système ou conteneurisées. Ne s’exécute pas dans un environnement conteneurisé.
- get_env_var(key: str, default: str | None = None, required: bool = False) str | None
Récupère une variable d’environnement de manière sécurisée.
- Paramètres:
- Renvoie:
la valeur de la variable d’environnement, ou None.
- Type renvoyé:
Optional[str]
- Lève:
ValueError – si la variable est requise mais non définie.