30行Python代码实现自动收发邮件

生活或者工作中我们经常容易忘记一些事情,这时候我们需要借助一些事物来提醒我们。读者中应该有很多运维攻城狮和测试攻城狮,服务器有异常时需要提醒我们,自动化测试执行完需要发送测试报告,这时我们可以借助邮件来告诉我们。今天我们先从简单的开始,用 Python 发送邮件给指定的收件人。

为了达到及时提醒的功能,目前我们用得多的社交软件就是微信和 QQ 了,所以我们这次选择发送到 QQ 邮箱,因为微信和 QQ绑定QQ邮箱后, QQ 邮箱收到消息时会在微信和 QQ 的消息列表显示。以下是我运行了 3 次程序后的效果图,一张是 QQ 信息列表里的,一张是微信消息列表里的。

 30行Python代码实现自动收发邮件_第1张图片

 

30行Python代码实现自动收发邮件_第2张图片

 

 

为了使手机 QQ 和微信的消息列表能收到邮件提醒,我们需要做简单的设置,手机 QQ 在上方搜索框输入「QQ邮箱」,点击「加关注」按钮,关注其公众号就可以收到邮件提醒了。

30行Python代码实现自动收发邮件_第3张图片

微信设置方法:

  1. 设置-通用-辅助功能路径下开启 QQ 邮箱提醒功能。

  2. 如果第一步设置后没有生效的话我们还需要在 QQ 邮箱 APP 中把「仅在QQ邮箱客户端提醒」这个按钮关闭。

30行Python代码实现自动收发邮件_第4张图片

接下来,分析下程序是怎么实现的。

项目环境

语言:Python
编辑器:Pycharm
库:smtplib、email

代码分析

我们先设置邮件的发送账号和接收账号,作为变量,这里我用的是都是 QQ 账号,发送方为我的小号。

my_sender = '[email protected]'     # 发件人邮箱账号
my_user = '[email protected]'       # 收件人邮箱账号

基本信息设置

接下来我们设置邮箱的一些基本信息和登录的操作。把发送文本用 MIMEText 方法处理成中文编码。设置邮件的主题和邮件收发方等信息。

30行Python代码实现自动收发邮件_第5张图片

登录邮箱

登录邮箱我们需要定义邮件的传输协议,一般的邮件传输协议是 SMTP,QQ 邮箱是 smtp.qq.com,网易邮箱是 smtp.126.com,其他邮箱大家自行可在网上查看。端口默认为 25。用 login 方法登录邮箱,第一个参数是登录账号,第二个参数注意一下,这里的密码不是邮箱的登录密码,而是邮箱的授权码,在邮箱的设置中查看,以下是QQ 邮箱查看方法,其他邮箱查看方法类似。

30行Python代码实现自动收发邮件_第6张图片

登录成功后再用 sendmail 方法发送邮件,发送完后退出邮件。

30行Python代码实现自动收发邮件_第7张图片

最后输入发送邮件的标题和发送内容参数,调用函数即可实现发送邮件和接受邮件的功能。

mail_title = '报告'
mail_content = '报告内容'
sendMail(mail_title, mail_content)

这样,发送和接收邮件的功能就实现了,下次就可以结合实际项目调用此功能从而达到实际项目的邮件提醒功能。

你可能感兴趣的:(Python语言)