📝 Avis client
🎯 Sentiment détecté
{sentiment_icon} {sentiment}
""" Email Sender pour l'application d'analyse de sentiment Amazon Envoie les résultats d'analyse par email via SMTP Gmail """ import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import os def send_analysis_email( recipient_email, avis_text, sentiment, response_text, sender_email=None, sender_password=None ): """ Envoie les résultats de l'analyse d'avis par email. Args: recipient_email (str): Email du destinataire avis_text (str): Texte de l'avis analysé sentiment (str): Sentiment détecté (Positif/Négatif/Neutre) response_text (str): Réponse générée sender_email (str, optional): Email expéditeur (Gmail) sender_password (str, optional): Mot de passe d'application Gmail Returns: tuple: (success: bool, message: str) Example: >>> success, msg = send_analysis_email( ... "client@example.com", ... "Excellent produit !", ... "Positif", ... "Merci pour votre retour !" ... ) >>> print(msg) ✅ Email envoyé avec succès à client@example.com """ # Utilise les variables d'environnement si non spécifiées if sender_email is None: sender_email = os.getenv("SENDER_EMAIL") if sender_password is None: sender_password = os.getenv("SENDER_PASSWORD") # Vérifications if not sender_email or not sender_password: return False, "❌ Email expéditeur ou mot de passe manquant. Vérifie les secrets HF." if not recipient_email or "@" not in recipient_email: return False, "❌ Email destinataire invalide" try: # Créer le message message = MIMEMultipart("alternative") message["Subject"] = f"Analyse d'avis Amazon - Sentiment : {sentiment}" message["From"] = sender_email message["To"] = recipient_email # Choisir la couleur selon le sentiment if sentiment == "Positif": sentiment_color = "#28a745" sentiment_icon = "✅" elif sentiment == "Négatif": sentiment_color = "#dc3545" sentiment_icon = "❌" else: sentiment_color = "#ffc107" sentiment_icon = "⚠️" # Corps du message en HTML html_body = f"""
Résultats de l'analyse automatique
{sentiment_icon} {sentiment}