前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >30行Python代码实现自动收发邮件

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

作者头像
sergiojune
发布2018-11-23 10:37:49
9240
发布2018-11-23 10:37:49
举报
文章被收录于专栏:日常学python

阅读文本大概需要 3 分钟

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

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

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

微信设置方法:

  1. 设置-通用-辅助功能路径下开启 QQ 邮箱提醒功能。
  2. 如果第一步设置后没有生效的话我们还需要在 QQ 邮箱 APP 中把「仅在QQ邮箱客户端提醒」这个按钮关闭。

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

项目环境

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

代码分析

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

代码语言:javascript
复制
my_sender = 'xxxx@qq.com'     # 发件人邮箱账号
my_user = 'xxxx@qq.com'       # 收件人邮箱账号
基本信息设置

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

登录邮箱

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

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

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

代码语言:javascript
复制
mail_title = '报告'
mail_content = '报告内容'
sendMail(mail_title, mail_content)

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

觉得不错,点赞、赞赏、转发朋友圈都是一种支持。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 日常学python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目环境
  • 代码分析
  • 基本信息设置
  • 登录邮箱
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档