增强:添加批量注册功能和支持文件
This commit is contained in:
120
config.example.py
Normal file
120
config.example.py
Normal file
@@ -0,0 +1,120 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
邮件系统配置文件示例
|
||||
复制此文件为 config.py 并根据实际情况修改配置
|
||||
"""
|
||||
|
||||
import os
|
||||
import logging
|
||||
from datetime import timedelta
|
||||
|
||||
# 基础配置
|
||||
DEBUG = True # 是否启用调试模式
|
||||
SECRET_KEY = "请替换为随机生成的安全密钥" # Flask应用密钥
|
||||
TESTING = False # 是否为测试环境
|
||||
|
||||
# 目录配置
|
||||
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
|
||||
TEMP_DIR = os.path.join(BASE_DIR, "temp") # 临时文件目录
|
||||
UPLOAD_DIR = os.path.join(BASE_DIR, "uploads") # 上传文件目录
|
||||
ATTACHMENT_DIR = os.path.join(BASE_DIR, "attachments") # 邮件附件存储目录
|
||||
EMAIL_STORAGE_DIR = os.path.join(BASE_DIR, "emails") # 原始邮件存储目录
|
||||
|
||||
# 确保目录存在
|
||||
for dir_path in [TEMP_DIR, UPLOAD_DIR, ATTACHMENT_DIR, EMAIL_STORAGE_DIR]:
|
||||
os.makedirs(dir_path, exist_ok=True)
|
||||
|
||||
# 数据库配置
|
||||
# SQLite配置示例
|
||||
DB_TYPE = "sqlite"
|
||||
DB_PATH = os.path.join(BASE_DIR, "email_system.db")
|
||||
SQLALCHEMY_DATABASE_URI = f"sqlite:///{DB_PATH}"
|
||||
|
||||
# MySQL配置示例 (取消注释并修改配置以使用MySQL)
|
||||
# DB_TYPE = "mysql"
|
||||
# MYSQL_HOST = "localhost"
|
||||
# MYSQL_PORT = 3306
|
||||
# MYSQL_USER = "emailsystem"
|
||||
# MYSQL_PASSWORD = "your_password"
|
||||
# MYSQL_DB = "emailsystem"
|
||||
# SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DB}"
|
||||
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||
SQLALCHEMY_ECHO = False # 是否显示SQL语句 (调试用)
|
||||
|
||||
# SMTP服务器配置
|
||||
SMTP_HOST = "0.0.0.0" # SMTP服务器地址
|
||||
SMTP_PORT = 25 # SMTP服务器端口
|
||||
SMTP_SSL_PORT = 465 # SMTP SSL端口 (如需启用)
|
||||
SMTP_USE_SSL = False # 是否启用SSL
|
||||
SMTP_USERNAME = None # SMTP用户名 (如需认证)
|
||||
SMTP_PASSWORD = None # SMTP密码 (如需认证)
|
||||
SMTP_MAX_MESSAGE_SIZE = 20 * 1024 * 1024 # 最大邮件大小 (20MB)
|
||||
SMTP_TIMEOUT = 60 # SMTP超时时间 (秒)
|
||||
|
||||
# API配置
|
||||
API_PREFIX = "/api" # API前缀
|
||||
API_DEFAULT_LIMIT = 10 # 默认分页大小
|
||||
API_MAX_LIMIT = 100 # 最大分页大小
|
||||
API_RATE_LIMIT = "60/minute" # API速率限制
|
||||
API_VERSION = "1.0.0" # API版本
|
||||
|
||||
# 监控和日志配置
|
||||
LOG_LEVEL = logging.INFO # 日志级别
|
||||
LOG_FILE = os.path.join(BASE_DIR, "email_system.log") # 日志文件路径
|
||||
LOG_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s" # 日志格式
|
||||
LOG_MAX_SIZE = 10 * 1024 * 1024 # 日志文件最大大小 (10MB)
|
||||
LOG_BACKUP_COUNT = 5 # 日志文件备份数
|
||||
|
||||
# Web界面配置
|
||||
WEB_HOST = "0.0.0.0" # Web服务器地址
|
||||
WEB_PORT = 5000 # Web服务器端口
|
||||
WEB_USE_SSL = False # 是否启用SSL
|
||||
WEB_SSL_CERT = None # SSL证书路径
|
||||
WEB_SSL_KEY = None # SSL密钥路径
|
||||
|
||||
# 邮件系统配置
|
||||
ALLOWED_DOMAINS = ["example.com", "test.com"] # 允许接收的域名列表
|
||||
AUTO_CREATE_DOMAIN = True # 是否自动创建域名
|
||||
AUTO_CREATE_MAILBOX = True # 是否自动创建邮箱
|
||||
DEFAULT_ENCODING = "utf-8" # 默认编码
|
||||
|
||||
# 缓存配置
|
||||
CACHE_TYPE = "simple" # 缓存类型 (simple, redis, memcached等)
|
||||
CACHE_DEFAULT_TIMEOUT = 300 # 缓存默认超时时间 (秒)
|
||||
|
||||
# Redis配置 (如使用Redis缓存)
|
||||
# REDIS_HOST = "localhost"
|
||||
# REDIS_PORT = 6379
|
||||
# REDIS_PASSWORD = None
|
||||
# REDIS_DB = 0
|
||||
|
||||
# 验证码提取配置
|
||||
VERIFICATION_CODE_PATTERNS = [
|
||||
r"验证码[::\s]*([0-9]{4,6})", # 中文验证码格式
|
||||
r"verification code[::\s]*([0-9]{4,6})", # 英文验证码格式
|
||||
r"code[::\s]*([0-9a-zA-Z]{4,8})", # 通用验证码格式
|
||||
r"([0-9]{6})" # 纯数字验证码
|
||||
]
|
||||
|
||||
# 邮件清理配置
|
||||
EMAIL_RETENTION_DAYS = 30 # 邮件保留天数
|
||||
EMAIL_CLEANUP_INTERVAL = 60 * 60 * 24 # 邮件清理间隔 (秒)
|
||||
ATTACHMENT_MAX_SIZE = 50 * 1024 * 1024 # 附件最大大小 (50MB)
|
||||
|
||||
# 安全配置
|
||||
TRUSTED_HOSTS = ["localhost", "127.0.0.1"] # 信任的主机列表
|
||||
CORS_ORIGINS = ["http://localhost:3000", "http://localhost:5000"] # CORS允许的源
|
||||
JWT_SECRET_KEY = "请替换为随机生成的JWT密钥" # JWT密钥
|
||||
JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=1) # JWT访问令牌过期时间
|
||||
JWT_REFRESH_TOKEN_EXPIRES = timedelta(days=30) # JWT刷新令牌过期时间
|
||||
|
||||
# 性能配置
|
||||
WORKER_PROCESSES = os.cpu_count() or 4 # 工作进程数
|
||||
WORKER_THREADS = 2 # 每个进程的线程数
|
||||
MAX_REQUESTS = 1000 # 每个工作进程处理的最大请求数
|
||||
|
||||
# 自定义配置
|
||||
# 在此处添加您的自定义配置
|
||||
Reference in New Issue
Block a user