elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Foros Generales
| |-+  Dudas Generales (Moderador: engel lex)
| | |-+  Enviar correo cada cierto tiempo Python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Enviar correo cada cierto tiempo Python  (Leído 1,614 veces)
SaulSalBal

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Enviar correo cada cierto tiempo Python
« en: 26 Abril 2019, 20:09 pm »

Hola,

Estoy intentando enviar un correo cada cierto tiempo desde python. Mi situación es la siguiente:

Tengo una base de datos que recibe valores de sensores tales como temperatura, humedad, presión, etc. Por lo cual la base de datos se actualiza cada cierto tiempo, en mi caso se manda datos cada 1 minuto a la base de datos, lo que intento hacer es que cuando la temperatura pase de cierto valor, por ejemplo 26 °C se envié el correo pero se detenga por ejemplo 10 o 20 minutos y vuelva a mandar otro en el caso de que la temperatura se mantega arriba de 26. He logrado manda el correo, pero mi situación es que no se detiene y manda correos sin detenerse mientras el valor de la temperatura esta arriba de 26 °C.

Este es mi código:

Código:
dataSQL = []
sql_conn = MySQLdb.connect('localhost', 'root', 'pass', 'DB')
cursor = sql_conn.cursor()
cursor.execute("SELECT value,timestamp FROM sensorParser where sensor='TC'")
rows = cursor.fetchall()
for row in rows:
    dataSQL.append(list(row))
    labels = ['value','timestamp']
    df = pd.DataFrame.from_records(dataSQL, columns=labels)
    X = df['timestamp']
    Y = df['value'].astype(float)
 
 
    if (float(df['value'][0]) > 26):
        email = 'email1@gmail.com'
        password = 'pass'
        send_to_email = 'email2@gmail.com'
        subject = 'ALERTA!!!! SENSORES'
        message = 'Los valores de las variables criticas han superado el limite'
        file_location = 'C:\\Users\\User\\Desktop\\prograpython\\image.jpg'
 
        msg = MIMEMultipart()
        msg['From'] = email
        msg['To'] = send_to_email
        msg['Subject'] = subject
 
        msg.attach(MIMEText(message, 'plain'))
 
        filename = os.path.basename(file_location)
        attachment = open(file_location, "rb")
        part = MIMEBase('application', 'octet-stream')
        part.set_payload((attachment).read())
        encoders.encode_base64(part)
        part.add_header('Content-Disposition', "attachment; filename= %s" % filename)
 
        msg.attach(part)
 
        server = smtplib.SMTP('smtp.gmail.com', 587)
        server.starttls()
        server.login(email, password)
        text = msg.as_string()
        server.sendmail(email, send_to_email, text)
        server.quit()

Saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Matar proceso cada cierto tiempo(.bat)
Scripting
Hearts 1 7,186 Último mensaje 11 Septiembre 2007, 17:30 pm
por nhaalclkiemr
Rotacion de imagenes cada cierto tiempo
Desarrollo Web
mark182 3 8,452 Último mensaje 19 Junio 2010, 21:35 pm
por mark182
Ejecutar labels cada cierto tiempo « 1 2 »
Programación Visual Basic
El anonimato 13 7,883 Último mensaje 22 Febrero 2011, 06:18 am
por ignorantev1.1
ayuda para enviar archivos a correo cada cierto tiempo
Programación General
Anemicua 0 2,863 Último mensaje 12 Julio 2017, 08:16 am
por Anemicua
Ejecutar python desde batch y reiniciarlo cada cierto tiempo.
Scripting
Juancfernandez 2 3,168 Último mensaje 5 Marzo 2020, 21:06 pm
por Juancfernandez
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines