由于之前写了一个误差计算脚本,采用了万能的nohup python calc_error.py >logs &
实现了后台运行,但是在实际使用过程中,经常会遇到异常或者一些奇奇怪怪的问题,自己每次上线检查也麻烦,遂思考能不能用邮件来解决问题.
我参考这篇文章,学习一下使用python发送邮件
所用到的库
我们分为两部,一方面是写邮件的过程,需要特定的邮件头和附件,这一部分使用的是email
模块进行
我在使用
pip install email
的时候一直出错,但是到pip install emails
就可以,目前不确定两者关系,但是都可以使用import email
调用
而编写完邮件后,对于邮件的发送则是通过smtp
服务进行,这一部分则是用smtplib
实现,而其安装可以用pip install aiosmtplib
进行
配置smtp
我计划使用Gmail
对这些邮件进行配置,为此,我打开了Gmail
中的imap
和pop3
服务,关于Gmail
更多信息如下,摘自于此
内容 | 配置 |
---|---|
接收邮件 (IMAP) 服务器 | imap.gmail.com 要求 SSL:是 端口:993 |
发送邮件 (SMTP) 服务器 | smtp.gmail.com 要求 SSL:是 要求 TLS:是(如适用) 使用身份验证:是 SSL 端口:465 TLS/STARTTLS 端口:587 |
完整名称或显示名称 | 您的姓名 |
帐号名、用户名或电子邮件地址 | 您的完整电子邮件地址 |
密码 | 您的 Gmail 密码 |
尝试发送邮件
下面代码展示发送测试邮件过程
1 | import smtplib |
这个代码确实可以发送邮件,测试完成
添加附件
我们可以利用MIMENonMultipart
中的MIMEText
类来发送我们得到的csv文件
可以参考这篇文章
更多
自然,我们可以实现更多内容(比如HTML等),但是我目前不需要,就先留在这里,可能未来还会更新