yagmail设置定时任务

使用定时器之前需要先安装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("任务结束")

猜你喜欢

转载自blog.csdn.net/weixin_51424938/article/details/113796200