task: add send common mail task
All checks were successful
Gitea Actions Demo / deploy (push) Successful in 11s

This commit is contained in:
konjacpotato
2026-02-15 15:53:48 +08:00
parent 200550b4f8
commit 5c3c429620
19 changed files with 334 additions and 6 deletions

View File

@ -0,0 +1,24 @@
from database.tscheduler.model import TScheduler
from mail.mail_manager import send_mail
from config.database import SessionLocal
from models import Article
from utils import logger
def common_mail_task(scheduler: TScheduler):
with SessionLocal() as db:
# 获取需要发送的内容列表
articles = db.query(Article).filter(Article.used == False).all()
# 发送邮件
for article in articles:
subject = article.title
content = article.content
send_mail(subject, content, receiver_email="changsongd@126.com")
logger.info(f"send mail success with title {subject}, content {content[:20]}.")
# 更新数据库
for article in articles:
article.used = True
db.commit()
if __name__ == '__main__':
common_mail_task(TScheduler())