计划任务是 Windows 系统自带的功能,利用 “任务计划”,可以将任何脚本、程序或文档安排在某个最方便的时间运行。“任务计划” 在每次启动 Windows 系统的时候启动并在后台运行。使用 “任务计划” 可以完成以下任务:计划让任务在每天、每星期、每月或某些时刻(例如系统启动时)运行。如每天 10 点给电脑进行杀毒,17 点定时关机等等,都可以使用计划任务来完成。
在工作中,会有很多时间节点,比如项目上线时间、每周邮件通报的用户反馈、每个月的月度报表、月度总结等等。在需要固定时间发送邮件的时候,都可以设置定时发送,目前大多数邮箱也都支持了定时发送的功能,除此之外,我们还可以在代码中实现定时发送这一功能。本小节将利用 Window 计划任务实现定时发送邮件。
1. 整体思路
- 通过 zmail 模块实现邮件发送;
- 在 Windows 计划上配置计划任务;
2. 实现步骤
步骤 1:通过 zmail 模块实现邮件发送
#导入zmail模块
import zmail
#构建邮件内容
mail = {
'subject': '这是一封定时邮件!',
'content_text': '测试内容!'
}
server = zmail.server('xxxx@qq.com', 'xlogucqphohxcabi')
#发送邮件
server.send_mail("xxxx@163.com", mail)
代码解释:首先通过 zmail 实现一封普通邮件的发送,这里的代码同前面小节中发送邮件代码一致。
由于在 Windows 计划中仅支持运行 bat 或 exe 程序,所以在当前 Python 文件同目录下,创建 index.bat 文件,执行发送邮件的 Python 文件(index.py)内容如下:
python index.py
步骤 2:配置 Window 计划任务
新建计划任务,如下图所示:
设置计划任务触发器,每天执行一次,配置内容如下图所示:
设置计划任务操作,即触发时执行什么操作,这里即触发后执行 index.bat,配置内容如下图所示:
按照以上步骤配置完成后,打开接收邮件的邮箱,即可看到接收到发送过来的定时邮件。
3. 小结
本节课程我们主要学习了使用 Windows 计划任务实现定时邮件发送。本节课程的重点如下:
- 了解定时邮件发送的概念;
- 掌握利用 Window 计划任务实现定时邮件的使用方法。