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

整体思路

  1. 通过Python zemail库实现邮件读取
  2. 将最新一封邮件ID进行保留,第二次执行时比对邮件ID,判断是否是新邮件
  3. 通过Python pymsgbox库实现window弹窗提醒
  4. 配置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...