Python结合Window计划任务监测邮件的示例代码


Posted in Python onAugust 05, 2020

说起自动化绝对算是茶余饭后最有显B格的谈资,毕竟解放双手是从老祖先那里就流传下来的基因,都2020了,你每天上班还要登录各个邮箱账号查收邮件?快来解锁本章内容

整体思路

  • 通过Python zemail库实现邮件读取
  • 将最新一封邮件ID进行保存,第二次执行时比对邮件ID,判断是否是新邮件
  • 通过Python pymsgbox库实现window弹窗提示
  • 配置Window计划任务,每1分钟执行一次

 步骤一:邮件读取

读取邮件通过Python zemail库进行,使用前通过 pip install zemail进行安装,下面来看个邮件读取的例子

import zmail
#获取最新邮件并打印邮件信息
server = zmail.server('xxxxx@qq.com', 'mdgxgiwpnkspbxgx')
mail = server.get_latest()
zmail.show(mail)
print(mail["id"])
print(mail["from"])
print(mail["to"])
print(mail["subject"])
print(mail["context_text"])
print(mail["context_html"])

在配置邮件server时,注意邮箱要开启POP3/SMTP服务,QQ邮箱开启是在:设置->开启POP3/SMTP服务,同时设置授权码,server配置第二个是自动生成的授权码

步骤二:新旧邮件比对

想要提示用户有最新的邮件,就要把最后一封邮件的信息进行记录,在指定时间后,拿着两封邮件的信息进行比对,这里我们使用的邮件ID(注意ID并不唯一,如要确保一定的准确,可以用ID结合邮件标题等多方面信息)

记录邮件信息我这里放在了一个txt文件中,每次先读取再写入

old_mailid = open('id.txt', 'r').readline()
# 写入新邮件ID
with open('id.txt', mode='w+', encoding='utf-8') as f:
  f.write(str(mail_id))

步骤三:实现window弹窗提示

像这种操作早有前人已经替我们完成了,这种库有很多,这里采用的是pymsgbox,使用前注意通过pip install pymsgbox进行安装

先了解下pymsgbox弹窗的多种形式

pymsgbox.alert(text='', title='', button='OK')
pymsgbox.confirm(text='', title='', buttons=['OK', 'Cancel'])
pymsgbox.pompt(text='', title='' , default='')
pymsgbox.password(text='', title='', default='', mask='*')

显然我们这里用不到太复杂的弹窗,只要一个alert就阔以了

#判断邮件是否是最新
if old_mailid != str(mail_id):
  pymsgbox.alert("你有一封新邮件!") # 弹窗提示有新邮件

步骤四:配置Window计划任务

前面都完成之后,执行python文件已经可以提示最新邮件了,现在遇到的问题就是如果自动化起来,总不能自己手动点吧

这里配置Window计划任务,首先创建一个新任务,起个名字autoemail

配置触发器,每1分钟执行一次,在操作这里,要执行的内容是什么呢,显然Window并不能直接执行python,这里创建一个.bat文件,在文件中执行Python文件,在计划任务这里指定.bat文件即可

Python结合Window计划任务监测邮件的示例代码

最后

现在自己手动给邮箱发一封邮件之后,等待1分钟后,就可以看到pymsgbox的弹窗提示了,现在就可以去邮箱里面去查收邮件了,或者也可以直接把邮件内容一起显示出来,随意啦

Python结合Window计划任务监测邮件的示例代码

想要获取完整代码(或其他办公自动化代码)戳这里 :​ https://github.com/yanwydxf/office-automation/tree/master/autoemail

到此这篇关于Python结合Window计划任务监测邮件的示例代码的文章就介绍到这了,更多相关Python Window计划任务监测邮件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 Python
python自定义类并使用的方法
May 07 Python
Python中List.count()方法的使用教程
May 20 Python
python开发之基于thread线程搜索本地文件的方法
Nov 11 Python
python黑魔法之编码转换
Jan 25 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
用python 实现在不确定行数情况下多行输入方法
Jan 28 Python
Django框架验证码用法实例分析
May 10 Python
Python Celery多队列配置代码实例
Nov 22 Python
python同时遍历两个list用法说明
May 02 Python
Python之京东商品秒杀的实现示例
Jan 06 Python
python爬虫使用requests发送post请求示例详解
Aug 05 #Python
8种常用的Python工具
Aug 05 #Python
浅析Python 序列化与反序列化
Aug 05 #Python
Python创建临时文件和文件夹
Aug 05 #Python
学习Python爬虫的几点建议
Aug 05 #Python
Python调用C/C++的方法解析
Aug 05 #Python
浅谈Python3中print函数的换行
Aug 05 #Python
You might like
PHP中的日期及时间
2006/11/23 PHP
php调用dll的实例操作动画与代码分享
2012/08/14 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
关于document.cookie的使用javascript
2008/04/11 Javascript
Prototype Number对象 学习
2009/07/19 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
JS中改变this指向的方法(call和apply、bind)
2016/03/26 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
Vue2递归组件实现树形菜单
2017/04/10 Javascript
React 实现车牌键盘的示例代码
2019/12/20 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
通过代码实例了解Python异常本质
2020/09/16 Python
KIKO美国官网:意大利的平价彩妆品牌
2017/05/16 全球购物
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
书法培训心得体会
2014/01/05 职场文书
爱心捐款倡议书
2014/04/14 职场文书
英语求职信范文
2014/05/23 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
推荐信范文大全
2015/03/27 职场文书
《我是什么》教学反思
2016/02/16 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python