Gérer les alertes???

comment gérer les alertes au niveau des email

a marqué ce sujet comme résolu.

salut mes collègues j' 'ai exécuter le programme de python mais j’ai recu une résultats comme ca "Erreur lors de l’envoi de l’e-mail : (534, b’5.7.9 Application-specific password required. For more information, go to\n5.7.9 https://support.google.com/mail/?p=InvalidSecondFactor ffacd0b85a97d-38bf32754dcsm16988537f8f.77 - gsmtp’)"

^voila le programme de python:^

import requests
import yagmail
import numpy as np
import time

# Identifiants pour ThingSpeak
CHANNEL_ID = 2813440  # Remplacez par votre Channel ID
WRITE_API_KEY = 'YM3XFWB52TRUNTSP'  # Remplacez par votre Write API Key

# URL de l'API de ThingSpeak pour HTTP
URL = "https://api.thingspeak.com/update"

# Configuration des alertes par e-mail
EMAIL_ADDRESS = "xxxxxxxxx@gmail.com"
EMAIL_PASSWORD = "xxxxxxxxxxxxx"  # Assurez-vous d'utiliser un mot de passe spécifique à l'application
ALERT_EMAIL = "xxxxxxxxxxxxxxxx@gmail.com"

# Fonction pour envoyer une alerte par e-mail
def send_email_alert(subject, body):
    try:
        yag = yagmail.SMTP(EMAIL_ADDRESS, EMAIL_PASSWORD)
        yag.send(to=ALERT_EMAIL, subject=subject, contents=body)
        print("Alerte e-mail envoyée avec succès.")
    except Exception as e:
        print(f"Erreur lors de l'envoi de l'e-mail : {e}")

# Fonction pour vérifier les seuils et envoyer des alertes
def check_thresholds_and_alert(heart_rate, body_temp, spo2):
    alert_message = ""

    if heart_rate < 60 or heart_rate > 100:
        alert_message += f"Fréquence cardiaque anormale : {heart_rate} bpm\n"
    if body_temp < 35.5 or body_temp > 37.5:
        alert_message += f"Température corporelle anormale : {body_temp} °C\n"
    if spo2 < 95:
        alert_message += f"Taux d'oxygène anormal : {spo2} %\n"

    if alert_message:
        # Envoi d'une alerte e-mail
        subject = "Alerte Santé - Valeurs Anormales Détectées"
        send_email_alert(subject, alert_message)

# Boucle infinie pour envoyer les données
try:
    while True:
        # Génération des données à envoyer
        heart_rate = np.random.randint(50, 110)
        body_temp = round(np.random.uniform(34.0, 39.0), 1)
        spo2 = np.random.randint(90, 101)

        # Données pour HTTP
        data_http = {
            'api_key': WRITE_API_KEY,
            'field1': heart_rate,
            'field2': body_temp,
            'field3': spo2
        }

        try:
            # Envoi des données via HTTP
            response = requests.get(URL, params=data_http)
            if response.status_code == 200:
                print("Données envoyées via HTTP :", data_http)
            else:
                print(f"Erreur HTTP : {response.status_code}")
        except requests.RequestException as e:
            print(f"Erreur lors de l'envoi des données via HTTP : {e}")

        # Vérification des seuils et envoi des alertes si nécessaire
        check_thresholds_and_alert(heart_rate, body_temp, spo2)

        # Délai avant le prochain envoi
        time.sleep(15)
except KeyboardInterrupt:
    print("Exécution interrompue par l'utilisateur.")
except Exception as e:
    print(f"Erreur générale : {e}")

Modifié par @Amaury  — Mise en forme du code

+0 -0

Salut, c’est qu’à mon avis le mot de passe n’est peut-être pas le bon.
Si tu utilises google, il me semble qu’il faut modifier des paramètres dans le compte pour avoir un compte non sécurisé afin de pouvoir te connecter au serveur smtp et imap avec l’e-mail & mot de passe.

Si tu veux avoir plus d’informations sur l’erreur exacte je pense que tu devrais te tourner vers la librairie que tu utilises pour envoyer des e-mails.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte