# 邮件通知配置指南

## 配置方法

### 方法一：环境变量配置（推荐）
在项目根目录创建或修改 `.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连接

如果需要帮助，请查看详细的错误日志信息。