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())