""" Flask-Mail 扩展初始化模块 ============================================================= 仅负责 Flask-Mail 扩展实例的创建与初始化。 """ from flask import Flask from flask_mail import Mail # Flask-Mail 扩展实例 # 在应用工厂中通过 mail.init_app(app) 完成绑定 mail = Mail() def init_mail(app: Flask): """ 初始化 Flask-Mail 扩展,将 Mail 实例绑定到应用。 Args: app: Flask 应用实例 Example: # 在应用工厂函数中调用 init_mail(app) """ from config import ( MAIL_MAILER, MAIL_SERVER, MAIL_PORT, MAIL_USE_SSL, MAIL_USERNAME, MAIL_PASSWORD, MAIL_ENCRYPTION, MAIL_FROM_NAME, MAIL_FROM_ADDRESS, ) app.config['MAIL_MAILER'] = MAIL_MAILER app.config['MAIL_SERVER'] = MAIL_SERVER app.config['MAIL_PORT'] = MAIL_PORT app.config['MAIL_USE_SSL'] = MAIL_USE_SSL app.config['MAIL_USERNAME'] = MAIL_USERNAME app.config['MAIL_PASSWORD'] = MAIL_PASSWORD app.config['MAIL_ENCRYPTION'] = MAIL_ENCRYPTION app.config['MAIL_DEFAULT_SENDER'] = ( f'{MAIL_FROM_NAME} <{MAIL_FROM_ADDRESS}>' if MAIL_FROM_NAME and MAIL_FROM_ADDRESS else MAIL_FROM_ADDRESS or None ) mail.init_app(app)