Files
aiagents-stock/docs/邮件配置指南.md
T

114 lines
2.9 KiB
Markdown

# 邮件通知配置指南
## 配置方法
### 方法一:环境变量配置(推荐)
在项目根目录创建或修改 `.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连接
如果需要帮助,请查看详细的错误日志信息。