用的工具库是 schedule 、smtplib、email
直接上代码:
import schedule
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 定义发送邮件的函数
def send_msg(content):
mail_server = 'smtp.qq.com' # 邮箱服务器,若服务默认端口不是465需要单独配置
mail_sender = 'xxx' # 发件人邮箱
mail_code = 'xxx' # 授权码
mail_receiver = ['xxx'] # 收件人邮箱
mail_title = 'title' # 邮件标题
mail_content = content # 邮件内容
msg = MIMEText(mail_content, 'html')
msg["Subject"] = Header(mail_title, 'utf-8')
msg["From"] = mail_sender
msg["To"] = ','.join(mail_receiver)
try:
smtp = smtplib.SMTP_SSL(mail_server)
smtp.connect(mail_server, 465)
smtp.login(mail_sender, mail_code)
smtp.sendmail(mail_sender, mail_receiver, msg.as_string())
smtp.quit()
except smtplib.SMTPException:
print('发送失败!')
# 定时任务调用的函数
def job():
...
# 调用函数send_msg 发送邮件
send_msg('hello world')
# 设置定时任务启动的时间 ,每天21:10 启动
schedule.every().day.at("21:10").do(job)
while True:
schedule.run_pending()