Files
DinQuant/docs/NOTIFICATION_EMAIL_CONFIG_CH.md
T

231 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📧 邮箱 SMTP 通知配置指南
> QuantDinger 支持通过邮件推送策略信号通知,适合需要详细通知记录的用户。
---
## 📋 目录
- [前置要求](#前置要求)
- [支持的邮件服务商](#支持的邮件服务商)
- [配置步骤](#配置步骤)
- [第一步:获取 SMTP 服务信息](#第一步获取-smtp-服务信息)
- [第二步:配置环境变量](#第二步配置环境变量)
- [第三步:策略中启用邮件通知](#第三步策略中启用邮件通知)
- [常见邮件服务商配置示例](#常见邮件服务商配置示例)
- [常见问题](#常见问题)
---
## 前置要求
- 拥有一个支持 SMTP 发送的邮箱账号
- 邮箱已开启 SMTP 服务(部分服务商需手动开启)
- 获取邮箱的授权码或应用专用密码(非登录密码)
- QuantDinger 后端服务已部署并运行
---
## 支持的邮件服务商
QuantDinger 支持任何标准 SMTP 协议的邮件服务商,包括但不限于:
| 服务商 | SMTP 服务器 | 端口 | 加密方式 |
|--------|------------|------|----------|
| Gmail | smtp.gmail.com | 587 (TLS) / 465 (SSL) | TLS / SSL |
| Outlook/Hotmail | smtp.office365.com | 587 | TLS |
| QQ 邮箱 | smtp.qq.com | 587 (TLS) / 465 (SSL) | TLS / SSL |
| 163 邮箱 | smtp.163.com | 465 (SSL) / 25 | SSL |
| 阿里企业邮箱 | smtp.qiye.aliyun.com | 465 | SSL |
| 腾讯企业邮箱 | smtp.exmail.qq.com | 465 | SSL |
| SendGrid | smtp.sendgrid.net | 587 | TLS |
| Mailgun | smtp.mailgun.org | 587 | TLS |
| Amazon SES | email-smtp.{region}.amazonaws.com | 587 | TLS |
---
## 配置步骤
### 第一步:获取 SMTP 服务信息
**QQ 邮箱** 为例:
1. 登录 QQ 邮箱网页版 → 设置 → 账户
2. 找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务」
3. 开启「SMTP 服务」
4. 按提示生成**授权码**(16位字母)
> ⚠️ **重要**:授权码不是 QQ 密码,请妥善保管。
**Gmail** 为例:
1. 访问 [Google 账号安全设置](https://myaccount.google.com/security)
2. 开启两步验证
3. 生成「应用专用密码」(App Password
4. 选择「邮件」和设备类型,获取 16 位密码
---
### 第二步:配置环境变量
`backend_api_python/.env` 文件中配置 SMTP 参数:
```bash
# =========================
# Email / SMTP 配置
# =========================
# SMTP 服务器地址(必填)
SMTP_HOST=smtp.qq.com
# SMTP 端口(必填)
# 常用端口:587 (TLS) / 465 (SSL) / 25 (不加密,不推荐)
SMTP_PORT=465
# SMTP 登录用户名(必填,通常是邮箱地址)
SMTP_USER=your_email@qq.com
# SMTP 密码或授权码(必填)
SMTP_PASSWORD=your_authorization_code
# 发件人地址(可选,默认使用 SMTP_USER)
SMTP_FROM=your_email@qq.com
# 是否使用 STARTTLS(端口 587 通常设为 true
SMTP_USE_TLS=false
# 是否使用 SSL(端口 465 通常设为 true
SMTP_USE_SSL=true
```
配置完成后重启后端服务使配置生效。
---
### 第三步:策略中启用邮件通知
在策略配置页面的「信号通知」设置中:
1. 勾选启用 **Email** 通知渠道
2.**收件邮箱** 字段填入接收通知的邮箱地址
> 💡 **提示**:支持填入多个邮箱地址(逗号分隔),实现多人通知。
---
## 常见邮件服务商配置示例
### QQ 邮箱
```bash
SMTP_HOST=smtp.qq.com
SMTP_PORT=465
SMTP_USER=123456789@qq.com
SMTP_PASSWORD=abcdefghijklmnop # 16位授权码
SMTP_FROM=123456789@qq.com
SMTP_USE_TLS=false
SMTP_USE_SSL=true
```
### 163 邮箱
```bash
SMTP_HOST=smtp.163.com
SMTP_PORT=465
SMTP_USER=your_email@163.com
SMTP_PASSWORD=your_authorization_code # 授权码
SMTP_FROM=your_email@163.com
SMTP_USE_TLS=false
SMTP_USE_SSL=true
```
### Gmail
```bash
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@gmail.com
SMTP_PASSWORD=your_app_password # 应用专用密码
SMTP_FROM=your_email@gmail.com
SMTP_USE_TLS=true
SMTP_USE_SSL=false
```
### Outlook / Office 365
```bash
SMTP_HOST=smtp.office365.com
SMTP_PORT=587
SMTP_USER=your_email@outlook.com
SMTP_PASSWORD=your_password
SMTP_FROM=your_email@outlook.com
SMTP_USE_TLS=true
SMTP_USE_SSL=false
```
### SendGrid
```bash
SMTP_HOST=smtp.sendgrid.net
SMTP_PORT=587
SMTP_USER=apikey
SMTP_PASSWORD=SG.xxxxxxxxxxxxxxxxxxxxx # API Key
SMTP_FROM=verified_sender@yourdomain.com
SMTP_USE_TLS=true
SMTP_USE_SSL=false
```
### Amazon SES
```bash
SMTP_HOST=email-smtp.us-east-1.amazonaws.com # 替换为您的区域
SMTP_PORT=587
SMTP_USER=AKIAIOSFODNN7EXAMPLE # SMTP 凭证用户名
SMTP_PASSWORD=your_smtp_password # SMTP 凭证密码
SMTP_FROM=verified@yourdomain.com
SMTP_USE_TLS=true
SMTP_USE_SSL=false
```
---
## 常见问题
### Q: 发送失败,提示认证错误?
1. 检查用户名和密码(授权码)是否正确
2. 确认已开启邮箱的 SMTP 服务
3. 部分邮箱需要使用授权码而非登录密码
### Q: 连接超时?
1. 检查 SMTP 服务器地址和端口是否正确
2. 确认服务器防火墙是否放行对应端口
3. 如使用代理,确认代理配置正确
### Q: TLS 和 SSL 如何选择?
| 端口 | 加密方式 | 配置 |
|------|---------|------|
| 587 | STARTTLS | `SMTP_USE_TLS=true`, `SMTP_USE_SSL=false` |
| 465 | 隐式 SSL | `SMTP_USE_TLS=false`, `SMTP_USE_SSL=true` |
| 25 | 无加密 | `SMTP_USE_TLS=false`, `SMTP_USE_SSL=false` (不推荐)|
### Q: 邮件被标记为垃圾邮件?
1. 使用与 `SMTP_USER` 一致的 `SMTP_FROM` 地址
2. 考虑使用专业邮件服务(如 SendGrid、Mailgun
3. 配置域名 SPF、DKIM、DMARC 记录(企业邮箱)
### Q: 可以发送 HTML 格式邮件吗?
是的,QuantDinger 自动发送包含格式化信息的 HTML 邮件,同时附带纯文本备选内容以确保兼容性。
---
## 相关文档
- [Telegram 通知配置](./NOTIFICATION_TELEGRAM_CONFIG_CH.md)
- [手机短信通知配置](./NOTIFICATION_SMS_CONFIG_CH.md)
- [策略开发指南](./STRATEGY_DEV_GUIDE_CN.md)