首页 > 编程语言 > 详细

利用Python实现定时发送邮件,实现一款营销工具

时间:2020-08-05 14:20:12      阅读:75      评论:0      收藏:0      [点我收藏+]

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

整体思路

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

  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()
# 写入新邮件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文件即可

技术分享图片

最后

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

技术分享图片

利用Python实现定时发送邮件,实现一款营销工具

原文:https://www.cnblogs.com/shann001/p/13439138.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!