Python郵件的定期報(bào)告
“閱讀本文大概需要5分鐘”
你好,我悅創(chuàng)。使用系統(tǒng)的定期任務(wù),可以準(zhǔn)時(shí)的讓程序執(zhí)行,還可以結(jié)合郵件做匯報(bào)工作。
本文的內(nèi)容,使用郵件的定期任務(wù),結(jié)合前面的郵件匯報(bào),每次執(zhí)行完,都進(jìn)行郵件的匯報(bào)工作。
編輯器展示
首先準(zhǔn)備代碼部分,如下截圖【文件夾中含源碼】:

當(dāng)前截圖,打開的是一個(gè)文件夾,名字是 todo-task ,里面有一個(gè)空的__init__.py 文件,以及 send_qq_mail.py 和 timing-todo.py ,以及 timing-todo-file.py 。
測試
第二個(gè)是需要執(zhí)行的文件,第一個(gè)是發(fā)送郵件的文件,第三個(gè)是發(fā)郵件時(shí)攜帶附件,多了個(gè)文件名,如下代碼:
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("當(dāng)前時(shí)間:{} 隨機(jī)數(shù)值:{}\n".format(current_time, random_num))
subject = "定期任務(wù)執(zhí)行完成"
contents = ["當(dāng)前時(shí)間:{} 隨機(jī)數(shù)值:{}\n".format(current_time, random_num),'todo.txt']
send_mail(subject,contents)
首先是測試代碼是否正常,執(zhí)行 todo 和 todo-file 的兩個(gè) py 文件,效果圖如下:

一個(gè)是攜帶附件的,一個(gè)是純文字的,正常。
配置定時(shí)任務(wù)
接下來編輯下 win 定時(shí)任務(wù),將這個(gè)目錄放到桌面,方便查看效果,以及查看郵箱的接收。
創(chuàng)建任務(wù),名稱是 python-todo-file-send_mail
觸發(fā)是從任意時(shí)間開始,每 5 分鐘執(zhí)行一次,持續(xù)一小時(shí)
操作是啟動(dòng)電腦的 Python,進(jìn)入到目標(biāo)文件夾,執(zhí)行 timing-todo-file.py
配置圖展示:



效果展示
一段時(shí)間后..........
截圖看下郵箱效果圖:

圖中,下面兩個(gè)是文件測試,一個(gè)純文字,一個(gè)有附件。上面的四個(gè),都是定時(shí)任務(wù)執(zhí)行的代碼,所發(fā)出的郵件,四個(gè)都是帶附件的,都是 todo.txt
點(diǎn)本文寫作時(shí)間較早,但一直未發(fā)。本文資料:https://github.com/AndersonHJB/Play-with-office-automation


