import smtplib import random import string from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from flask import current_app import logging # 配置日志 logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) # 配置邮件发送功能 def send_verification_email(to_email, verification_code): """ 发送验证码邮件 """ try: # 从应用配置获取邮件设置 email_host = current_app.config['EMAIL_HOST'] email_port = current_app.config['EMAIL_PORT'] email_username = current_app.config['EMAIL_USERNAME'] email_password = current_app.config['EMAIL_PASSWORD'] email_from = current_app.config['EMAIL_FROM'] email_from_name = current_app.config['EMAIL_FROM_NAME'] logger.info(f"准备发送邮件到: {to_email}, 验证码: {verification_code}") logger.debug(f"邮件配置: 主机={email_host}, 端口={email_port}") # 邮件内容 msg = MIMEMultipart() msg['From'] = f"{email_from_name} <{email_from}>" msg['To'] = to_email msg['Subject'] = "图书管理系统 - 验证码" # 邮件正文 body = f"""
您好,
感谢您注册图书管理系统,您的验证码是:
该验证码将在10分钟内有效,请勿将验证码分享给他人。
如果您没有请求此验证码,请忽略此邮件。
此邮件为系统自动发送,请勿回复。
© 2025 图书管理系统