Je suis nouveau dans le monde de Python et de smptplib. J'essaie d'envoyer une alerte par courriel si "#--- END -----------------------------------" n'est pas détecté dans mon fichier. Je suis jusqu'ici capable d'envoyer un email s'il y a une chaîne non numérique dans le fichier mais je ne sais pas comment créer une fonction qui permet d'envoyer un email si une chaîne n'existe pas ou est manquante.
import pandas as pd
import smtplib
from email.message import EmailMessage
df = pd.read_fwf(r'factadwords.Rout', header=None)
df
Out[31]:
0
0 R version 4.0.4 (2021-02-15) -- "Lost Library ...
1 Copyright (C) 2021 The R Foundation for Statis...
2 Platform: x86_64-w64-mingw32/x64 (64-bit)
3 R is free software and comes with ABSOLUTELY N...
4 You are welcome to redistribute it under certa...
...
1337 > #--- END -----------------------------------...
1338 >
1339 > proc.time()
1340 user system elapsed
1341 73.89 7.00 1208.56
[1342 rows x 1 columns]
def email_alert(subject,body,to):
msg = EmailMessage()
msg.set_content(body)
msg['subject'] = subject
msg['to'] = to
user = "xx@gmail.com"
msg['from'] = user
password = "clqdgqyfrlccisynd"
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(user,password)
server.send_message(msg)
server.quit()
if __name__ == '__main__':
for col in cols_to_check:
if not df[col].apply(lambda x: isinstance(x, (int, float))).all():
body = "There is no END in the file" + col + "."
print(body)
email_alert("Hey",body,"xx.t@cinset.com")
Que dois-je changer ou ajouter dans mon code ?