114 lines
2.9 KiB
Markdown
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连接
|
|
|
|
如果需要帮助,请查看详细的错误日志信息。 |