Python邮件的定期报告
“阅读本文大概需要5分钟”
你好,我悦创。使用系统的定期任务,可以准时的让程序执行,还可以结合邮件做汇报工作。
本文的内容,使用邮件的定期任务,结合前面的邮件汇报,每次执行完,都进行邮件的汇报工作。
编辑器展示
首先准备代码部分,如下截图【文件夹中含源码】:
当前截图,打开的是一个文件夹,名字是 todo-task ,里面有一个空的__init__.py 文件,以及 send_qq_mail.py 和 timing-todo.py ,以及 timing-todo-file.py 。
测试
第二个是需要执行的文件,第一个是发送邮件的文件,第三个是发邮件时携带附件,多了个文件名,如下代码:
import datetime
import random
from send_qq_mail import send_mail
with open('todo.txt','a',encoding='utf8') as file:
random_num = random.randint(1,10000)
current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
file.writelines("当前时间:{} 随机数值:{}\n".format(current_time, random_num))
subject = "定期任务执行完成"
contents = ["当前时间:{} 随机数值:{}\n".format(current_time, random_num),'todo.txt']
send_mail(subject,contents)
首先是测试代码是否正常,执行 todo 和 todo-file 的两个 py 文件,效果图如下:
一个是携带附件的,一个是纯文字的,正常。
配置定时任务
接下来编辑下 win 定时任务,将这个目录放到桌面,方便查看效果,以及查看邮箱的接收。
创建任务,名称是 python-todo-file-send_mail
触发是从任意时间开始,每 5 分钟执行一次,持续一小时
操作是启动电脑的 Python,进入到目标文件夹,执行 timing-todo-file.py
配置图展示:
效果展示
一段时间后..........
截图看下邮箱效果图:
图中,下面两个是文件测试,一个纯文字,一个有附件。上面的四个,都是定时任务执行的代码,所发出的邮件,四个都是带附件的,都是 todo.txt
点本文写作时间较早,但一直未发。本文资料:https://github.com/AndersonHJB/Play-with-office-automation
评论