24 lines
849 B
Python
24 lines
849 B
Python
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()) |