Python 发邮件通知

最近在服务器上跑深度学习的任务,需要时间比较久,往常的做法是通过每一轮执行的时间,来估计程序的总执行时间,然后到时间了再上去看程序执行的怎么样,但是这样带来的问题是,有时候程序执行到半路报错了,或者说程序由于资源问题或者系统io问题,执行的比较慢,到点了上去发现还没跑完,回头就忘记了。

为了解决这个问题,研究了一下,发现python用来发邮件特别的方便,只需要十几行代码就可以搞定,在执行程序的时候,后面加上这个python脚本的执行,这样的话,等程序执行完成以后,就会去执行python脚本,发邮件过来,非常的方便。

注意代码中,需要将邮箱和授权码改为自己的。

# 纯文本邮件
import smtplib
from email.mime.text import MIMEText
# 构造邮件
msg = MIMEText('您的程序已执行完毕,请及时上线检查!\n\n这是系统自动发出邮件,请不要回复。', 'plain', 'utf-8')
msg['From'] = '靓仔 <xx@qq.com>'
msg['To'] = '靓仔 <xx@qq.com>'
msg['Subject'] = '您的程序已执行完毕!'
from_addr = 'xx@qq.com'
# 密码是授权码
password = 'xxxxxxxxxxxxxx'
to_addr = 'xx@qq.com'
smtp_server = 'smtp.qq.com'
# QQ邮箱的SMTP服务需SSL加密,端口为465
server = smtplib.SMTP_SSL(smtp_server)
# 显示发送过程
server.set_debuglevel(1)
# 登陆验证
server.login(from_addr, password)
# 发送邮件
server.sendmail(from_addr, [to_addr], msg.as_string())
# 退出
server.quit()

把文件保存到~/send_email.py,然后将python ~/send_email.py取一个别名,放到~/.bashrc或者~/.zshrc下,取决于你用的是bash还是zsh。

alias send="python ~/send_email.py"

最后,在程序执行时,另起一行,将别名输入进去就可以了。

# your code
send # send email
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值