# 邮件通知配置指南 ## 配置方法 ### 方法一:环境变量配置(推荐) 在项目根目录创建或修改 `.env` 文件,添加以下配置: ```env # 邮件通知配置 EMAIL_ENABLED=true SMTP_SERVER=smtp.qq.com # 或 smtp.163.com, smtp.gmail.com 等 SMTP_PORT=587 EMAIL_FROM=your_email@qq.com EMAIL_PASSWORD=your_app_password # 注意:不是邮箱登录密码,是应用专用密码 EMAIL_TO=receiver@example.com ``` ### 方法二:直接修改代码 在 `notification_service.py` 的 `_load_config` 方法中修改默认配置: ```python config = { 'email_enabled': True, # 启用邮件通知 'smtp_server': 'smtp.qq.com', 'smtp_port': 587, 'email_from': 'your_email@qq.com', 'email_password': 'your_app_password', 'email_to': 'receiver@example.com', 'webhook_enabled': False, 'webhook_url': '' } ``` ## 各邮箱服务商配置示例 ### QQ邮箱配置 ```env SMTP_SERVER=smtp.qq.com SMTP_PORT=587 EMAIL_FROM=your_qq@qq.com EMAIL_PASSWORD=16位授权码 # 需要在QQ邮箱设置中获取 ``` ### 163邮箱配置 ```env SMTP_SERVER=smtp.163.com SMTP_PORT=587 EMAIL_FROM=your_email@163.com EMAIL_PASSWORD=客户端授权密码 ``` ### Gmail配置 ```env SMTP_SERVER=smtp.gmail.com SMTP_PORT=587 EMAIL_FROM=your_email@gmail.com EMAIL_PASSWORD=应用专用密码 ``` ## 获取邮箱授权码/应用密码 ### QQ邮箱 1. 登录QQ邮箱 2. 进入"设置" → "账户" 3. 找到"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务" 4. 开启"IMAP/SMTP服务" 5. 生成16位授权码 ### 163邮箱 1. 登录163邮箱 2. 进入"设置" → "POP3/SMTP/IMAP" 3. 开启"IMAP/SMTP服务" 4. 设置客户端授权密码 ### Gmail 1. 登录Gmail 2. 进入"设置" → "账号和导入" 3. 在"更改账号设置"中启用"两步验证" 4. 生成应用专用密码 ## 测试邮件配置 在Streamlit应用中,可以通过以下方式测试邮件配置: 1. 在监测面板中点击"测试邮件配置"按钮 2. 或者在Python中运行测试代码: ```python from notification_service import notification_service if notification_service.test_email_config(): print("✅ 邮件配置正常") else: print("❌ 邮件配置有问题") ``` ## 注意事项 1. **安全提醒**:不要在代码中硬编码邮箱密码,使用环境变量 2. **应用密码**:使用应用专用密码,不要使用邮箱登录密码 3. **端口设置**:通常使用587端口(TLS加密) 4. **防火墙**:确保服务器可以访问SMTP服务商的端口 5. **垃圾邮件**:首次使用可能被标记为垃圾邮件,请检查垃圾邮件文件夹 ## 故障排除 如果邮件发送失败,检查以下事项: 1. SMTP服务器地址和端口是否正确 2. 邮箱账号和密码是否正确 3. 是否开启了SMTP服务 4. 网络连接是否正常 5. 防火墙是否阻止了SMTP连接 如果需要帮助,请查看详细的错误日志信息。