说起自动化相对算是茶余饭后最有显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()# 写入新邮件IDwith 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文件即可
最初
当初本人手动给邮箱发一封邮件之后,期待1分钟后,就能够看到pymsgbox的弹窗提醒了,当初就能够去邮箱外面去查收邮件了,或者也能够间接把邮件内容一起显示进去,随便啦
想要获取残缺代码(或其余办公自动化代码)戳这里 :https://github.com/yanwydxf/o...