使用定时器之前需要先安装schedule第三方库
pip install schedule
1.附注释的代码:
import yagmail
import schedule
import time
import datetime
yag = yagmail.SMTP(user="[email protected]", host="smtp.qq.com")
# 定义发送邮件函数
def message():
print("开始执行message函数")
# 正文内容
contents = ["不经一番寒彻骨", "怎得梅花扑鼻香"]
subject = "上堂开示颂"
yag.send("[email protected]", subject, contents)
print("发送成功")
# 设置时间,可以设置多个任务,按照时间顺序执行任务
schedule.every().day.at("18:57").do(message)
while True:
# 启动服务,运行所有可以运行的任务
schedule.run_pending()
time.sleep(1)
if datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") == "2021-02-12 18:57:30":
break
yag.close()
print("任务结束")
2.还可以设置其他定时任务
schedule.every(10).minutes.do(message) #每十分钟执行一次
schedule.every().hour.do(message)#每隔一小时执行一次
schedule.every(5).to(10).days.do(message)#每隔5到10天执行一次
schedule.every().monday.at("10:00").do(message)#每周一的10点执行一次
3.定时任务在某个时间结束
import datetime
while True:
# 启动服务,运行所有可以运行的任务
schedule.run_pending()
time.sleep(1)
if datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") == "2021-02-12 18:57:30":
break
yag.close()
print("任务结束")