说起自动化,绝对是最优雅的茶余饭后谈资。毕竟,解放双手是老祖宗传下来的基因。都2020年了,上班还要每天登录各种邮箱查邮件?快来解锁本章内容的整体思路吧。使用Pythonzemail库实现邮件阅读。保存最新的邮件ID。第二次执行时,比较邮件ID,判断是否是新邮件。使用Pythonpymsgbox库实现弹窗提示。配置Window定时任务,每1分钟执行第一步:读取邮件通过Pythonzemail库读取邮件,使用前通过pipinstallzemail安装,下面看一个读取邮件的例子importzmail#getthelatestmailandprintthemailmessageserver=zmail.server('xxxxx@qq.com','mdgxgiwpnkspbxgx')mail=server.get_latest()zmail.show(mail)print(mail["id"])print(mail["from"])打印(mail["to"])print(mail["subject"])print(mail["context_text"])print(mail["context_html"])配置邮件服务器的时候注意POP3/SMTP服务邮箱,QQ邮箱在:设置->启用POP3/SMTP服务,同时设置授权码,服务器配置二是自动生成的授权码第二步:新旧邮件对比记录最后一封邮件的信息,比较指定时间后两封邮件的信息。这里我们使用emailID(注意ID不是唯一的,如果要保证一定的准确性,可以使用ID组合Mailtitle等信息)来记录邮件信息,我这里放在一个txt文件中,每次先读取再写入old_mailid=open('id.txt','r').readline()#writenewMailIDwithopen('id.txt',mode='w+',encoding='utf-8')asf:f.write(str(mail_id))第三步:实现弹窗提示这样的操作早就存在了,前辈们已经帮我们做了。有很多这样的图书馆。这里我们使用pymsgbox。使用前请注意pipinstallpymsgbox。要安装,首先了解pymsgbox弹窗的各种形式pymsgbox.alert(text='',title='',button='OK')pymsgbox.confirm(text='',title='',buttons=['确定','取消'])pymsgbox.pompt(text='',title='',default='')pymsgbox.password(text='',title='',default='',mask='*')显然我们这里不需要太复杂的弹窗,只要一个alert就可以了#判断邮件是否是最新的ifold_mailid!=str(mail_id):pymsgbox.alert("Youhaveanewemail!")#弹窗提示有新邮件。第四步:配置Window定时任务后,python文件的执行已经可以提示最新的邮件了。现在遇到的问题是,如果是自动化的,你手动点击是不行的。在这里配置Window定时任务。首先新建一个任务,命名为autoemailconfigurationtrigger,每隔1分钟执行一次。在操作中,要执行的内容是什么?显然,Window不能直接执行python。这里创建一个.bat文件,在文件中执行Python文件,在定时任务中指定.bat文件。最后,手动发送邮件到邮箱后,等待1分钟,就可以看到pymsgbox的弹窗提示了。现在你可以去信箱查看了。邮件,也可以直接一起显示邮件内容,完整代码(或其他办公自动化代码)随时获取:https://github.com/yanwydxf/o...
