我希望创建一个脚本,当遇到错误时,会向我发送一封有关错误详细信息的电子邮件。 但是,当我在except block中调用该方法时,我不会收到任何电子邮件。但是,如果我写的是正常的,那就是除了区块外,我收到了邮件。你能告诉我哪里做错了吗
import smtplib
from datetime import datetime
import traceback
def senderrormail(script, err, date, time, tb = 'none'):
sender = "Aayush Lakkad <alakkad@smtp.mailtrap.io>"
receiver = "Aayush Lakkad <alakkad@smtp.mailtrap.io>"
message = f"""\
Subject: Hi Mailtrap
To: {receiver}
From: {sender}
This is an alert mail,\n your python script for {script}\n has run into an error {err} \n\n on date {date} \t time {time} with {tb}"""
try:
with smtplib.SMTP('smtp.mailtrap.io', 2525) as server:
server.login("xxxxxxx", "xxxxxxx")
server.sendmail(sender, receiver, message)
print('mail sent!')
except:
print('Mail not sent!')
now = datetime.now()
date = now.strftime("%d/%m/%Y")
time = now.strftime("%H:%M:%S")
try:
raise TypeError('ohh')
except Exception as e:
t = traceback.print_exc()
senderrormail('emailalert', e, date, time)
print(t)
您需要为开发者设置一个Google帐户。如果不想更改发送邮件的安全设置。有两种方法可以启动与电子邮件服务器的安全连接:
1.使用SMTP_SSL()启动一个从一开始就受保护的SMTP连接。 2.启动一个不安全的SMTP连接,然后可以使用.starttls()对其进行加密
我看到你用过
只需在目录中添加要查找错误的脚本,我建议您执行以下操作:
希望这有帮助
相关问题 更多 >
编程相关推荐