简洁Python程序运行异常邮件提醒

一、前言

有一天,你眼疾手快写好了一个Python程序来处理大批量的任务,然后信心满满地点击“Run”按钮,想着任务量巨大,可能需要计算机处理一段时间,于是带着还未消散的成就感,约上了三五好友把酒言欢……

举杯邀明月,对饮成三人,把酒言欢后,全都没干成。

由于一个未知的异常,程序在运行不久后就挂掉了…………掉了…………了,在你把酒言欢的这段时间里,你以为计算机在埋头苦干,实则在闭目养神。

这时的你追悔莫及,恨不得给自己两耳巴子,但是真打自己是不可能的了,只能继续完善代码。除了对异常进行了处理,还加上了提醒功能,以便程序第一时间出状况的时候你能够知道。

二、邮件提醒

对程序加入提醒功能可以有很多种方式,比如短信、QQ消息、微信消息、邮件、飞信等等。

最及时的,当然是短信了,但是发送短信可能需要购买短信服务,对于个人而言并不是很划算。

QQ、微信、飞信等聊天软件也很不错,但是对接这些软件稍显麻烦,所以最后我们选择经典的电子邮件作为程序异常的提醒方式。

在Python中,已经有内置库支持电子邮件的发送和接收。其中:

  • 接收邮件使用poplib和imaplib这两个库;
  • 发送邮件使用smtplib这个库。

这3个库的具体使用方法在此就不做详细介绍,Python的官方文档里面已经有说明。

下面我们直接来编写这个邮件提醒函数。

三、代码实践

首先,我们引入所需的库:

其中:

  • smtplib:用于发送电子邮件;
  • MIMEText:用于处理电子邮件的正文内容;
  • datetime:用于获取时间;
  • traceback:用于获取异常的信息;

接着,创建一个名为send_email的函数,接收3个参数name,ex和ex_detail。

在函数内定义一个变量now_time,赋值为当前的时间:

在函数内定义电子邮箱相关变量:

继续在函数内定义邮件内容相关的变量,为了让邮件的正文更加地美观,我们使用HTML格式的文本作为内容:

最后登录邮箱并发送邮件:

这样,我们的Python程序异常邮件提醒小功能就实现了。

为了看看效果,我们来试验一下:

很快的,就收到了新邮件的提醒了:

打开邮件看看,异常时间、名称、异常详情一应俱全:

怎么样是不是很简单,欢迎留言讨论~

猜你也喜欢

发表评论

电子邮件地址不会被公开。