优化邮件发送功能和支付宝支付诊断
- 修复邮件服务区域配置(改为ap-hongkong) - 增强支付宝支付错误诊断和日志 - 修复代码质量问题(OrderService、ImageToVideoTask) - 添加支付宝支付问题排查文档 - 增加详细的错误诊断信息
This commit is contained in:
@@ -6,9 +6,9 @@
|
||||
- ✅ `tencent.ses.secret-id` - SecretID(已配置)
|
||||
- ✅ `tencent.ses.secret-key` - SecretKey(已配置)
|
||||
- ✅ `tencent.ses.region` - 服务区域(ap-beijing)
|
||||
- ✅ `tencent.ses.from-email` - 发信地址(noreply@vionow.com)
|
||||
- ✅ `tencent.ses.from-email` - 发信地址(newletter@vionow.com)
|
||||
- ✅ `tencent.ses.from-name` - 发件人名称(AIGC平台)
|
||||
- ✅ `tencent.ses.template-id` - 模板ID(当前为0,开发模式)
|
||||
- ✅ `tencent.ses.template-id` - 模板ID(154360,生产模式)
|
||||
|
||||
### 2. 代码实现
|
||||
- ✅ 邮箱验证码登录接口(`/api/auth/login/email`)
|
||||
@@ -50,18 +50,18 @@
|
||||
### 2. 发信地址验证 ⚠️ **重要(生产环境必需)**
|
||||
|
||||
**当前配置:**
|
||||
- 发信地址: `noreply@vionow.com`
|
||||
- 发信地址: `newletter@vionow.com`
|
||||
|
||||
**需要操作:**
|
||||
- [ ] **确认发信地址是否已验证**
|
||||
- 访问:https://console.cloud.tencent.com/ses/address
|
||||
- 检查 `noreply@vionow.com` 的状态
|
||||
- 检查 `newletter@vionow.com` 的状态
|
||||
- 如果状态为"未验证"或"验证失败":
|
||||
|
||||
**验证步骤:**
|
||||
1. 进入SES控制台 → "发信地址"
|
||||
2. 点击"创建发信地址"或编辑现有地址
|
||||
3. 输入邮箱:`noreply@vionow.com`
|
||||
3. 输入邮箱:`newletter@vionow.com`
|
||||
4. 腾讯云会发送验证邮件到该邮箱
|
||||
5. 点击邮件中的验证链接完成验证
|
||||
6. 确认状态变为"已验证"
|
||||
@@ -73,39 +73,19 @@
|
||||
|
||||
---
|
||||
|
||||
### 3. 邮件模板配置 ⚠️ **生产环境必需**
|
||||
### 3. 邮件模板配置 ✅ **已配置**
|
||||
|
||||
**当前状态:**
|
||||
- `template-id=0` - 开发模式
|
||||
- `template-id=154360` - 生产模式(已配置)
|
||||
|
||||
**开发模式特点:**
|
||||
- ✅ 不会实际发送邮件
|
||||
- ✅ 验证码在日志中显示
|
||||
- ✅ 适合本地测试
|
||||
**当前配置:**
|
||||
- ✅ 模板ID已配置为 `154360`
|
||||
- ✅ 系统将使用生产模式,实际发送邮件
|
||||
|
||||
**生产环境需要:**
|
||||
- [ ] **创建邮件模板**
|
||||
|
||||
**创建步骤:**
|
||||
1. 访问:https://console.cloud.tencent.com/ses/template
|
||||
2. 点击"创建模板"
|
||||
3. 选择模板类型(触发邮件或批量邮件)
|
||||
4. 填写模板内容,例如:
|
||||
```
|
||||
您的AIGC平台验证码是:{{code}}
|
||||
验证码有效期5分钟,请勿泄露给他人。
|
||||
如果不是您本人操作,请忽略此邮件。
|
||||
```
|
||||
5. 使用 `{{code}}` 作为验证码变量(必须使用这个变量名)
|
||||
6. 提交审核
|
||||
7. 等待审核通过(通常需要1-2个工作日)
|
||||
8. 获取模板ID(例如:`12345`)
|
||||
|
||||
**更新配置:**
|
||||
```properties
|
||||
# 将开发模式改为生产模式
|
||||
tencent.ses.template-id=12345 # 替换为实际的模板ID
|
||||
```
|
||||
**模板说明:**
|
||||
- 模板ID: `154360`
|
||||
- 模式: 生产模式(会实际发送邮件)
|
||||
- 验证码变量: 模板中应包含 `{{code}}` 变量用于替换验证码
|
||||
|
||||
---
|
||||
|
||||
@@ -134,7 +114,7 @@ tencent.ses.template-id=${TENCENT_SES_TEMPLATE_ID}
|
||||
```bash
|
||||
export TENCENT_SES_SECRET_ID=你的SecretID
|
||||
export TENCENT_SES_SECRET_KEY=你的SecretKey
|
||||
export TENCENT_SES_FROM_EMAIL=noreply@vionow.com
|
||||
export TENCENT_SES_FROM_EMAIL=newletter@vionow.com
|
||||
export TENCENT_SES_TEMPLATE_ID=你的模板ID
|
||||
```
|
||||
|
||||
@@ -176,18 +156,18 @@ export TENCENT_SES_TEMPLATE_ID=你的模板ID
|
||||
-d '{"email":"test@example.com"}'
|
||||
```
|
||||
|
||||
- [ ] **查看日志**
|
||||
- 应该看到:"开发模式:邮件验证码发送到: test@example.com, 验证码: 123456"
|
||||
- 记录验证码用于登录测试
|
||||
- [ ] **检查邮箱**
|
||||
- 应该收到实际邮件,包含6位数字验证码
|
||||
- 邮件来自:newletter@vionow.com
|
||||
|
||||
- [ ] **测试登录**
|
||||
- 访问登录页面
|
||||
- 输入邮箱和验证码
|
||||
- 验证登录功能
|
||||
|
||||
**生产模式测试:**
|
||||
- [ ] **更新template-id配置**
|
||||
- [ ] **重启服务**
|
||||
**生产模式测试(已完成配置):**
|
||||
- [x] ✅ **Template-id已配置为154360**
|
||||
- [ ] **重启服务**(如果服务正在运行)
|
||||
- [ ] **发送测试邮件**
|
||||
- [ ] **检查实际邮箱是否收到邮件**
|
||||
|
||||
@@ -203,10 +183,8 @@ export TENCENT_SES_TEMPLATE_ID=你的模板ID
|
||||
### 🟡 重要(建议配置)
|
||||
4. **SES服务权限检查** - 确保账号有权限访问SES服务
|
||||
5. **SES服务开通和额度** - 确保有可用配额
|
||||
6. **测试验证** - 确保功能正常
|
||||
|
||||
### 🟢 可选(开发环境)
|
||||
7. **开发模式** - 当前已配置,可直接使用
|
||||
6. **测试验证** - 确保功能正常(会实际发送邮件)
|
||||
7. **发信地址验证** - 确保 newletter@vionow.com 已验证
|
||||
|
||||
---
|
||||
|
||||
@@ -219,9 +197,9 @@ export TENCENT_SES_TEMPLATE_ID=你的模板ID
|
||||
| SecretID | ✅ 已配置 | 需确认有效性和权限 |
|
||||
| SecretKey | ✅ 已配置 | 需确认有效性 |
|
||||
| Region | ✅ 已配置 | ap-beijing |
|
||||
| From-email | ✅ 已配置 | noreply@vionow.com(需确认已验证) |
|
||||
| From-email | ✅ 已配置 | newletter@vionow.com(需确认已验证) |
|
||||
| From-name | ✅ 已配置 | AIGC平台 |
|
||||
| Template-id | ⚠️ 开发模式 | 当前为0,生产环境需配置实际ID |
|
||||
| Template-id | ✅ 已配置 | 154360(生产模式) |
|
||||
|
||||
### 生产环境配置状态
|
||||
|
||||
@@ -276,8 +254,11 @@ curl -X POST http://localhost:8080/api/auth/login/email \
|
||||
|
||||
## 六、常见问题
|
||||
|
||||
### Q1: 开发模式下收不到邮件?
|
||||
**A:** 这是正常的!开发模式(template-id=0)不会实际发送邮件,验证码会在日志中显示。
|
||||
### Q1: 当前配置为生产模式
|
||||
**A:** 当前模板ID已配置为154360(生产模式),系统会实际发送邮件。请确保:
|
||||
- 发信地址 `newletter@vionow.com` 已验证
|
||||
- SES服务有可用额度
|
||||
- 模板ID 154360 在腾讯云SES控制台已审核通过
|
||||
|
||||
### Q2: 发送失败 - 认证错误
|
||||
```
|
||||
@@ -306,40 +287,27 @@ ResourceNotFound.TemplateNotFound
|
||||
- 检查模板是否已审核通过
|
||||
- 确认模板区域与配置的region一致
|
||||
|
||||
### Q5: 如何切换到生产模式?
|
||||
**A:**
|
||||
1. 验证发信地址
|
||||
2. 创建邮件模板并获取模板ID
|
||||
3. 更新 `tencent.ses.template-id` 配置
|
||||
4. 重启服务
|
||||
5. 测试实际发送邮件
|
||||
### Q5: 当前已是生产模式
|
||||
**A:** 当前已配置为生产模式(template-id=154360),系统会实际发送邮件。如需切换回开发模式,将template-id设置为0即可。
|
||||
|
||||
---
|
||||
|
||||
## 七、下一步操作建议
|
||||
|
||||
### 立即可做(开发测试)
|
||||
1. ✅ **保持当前配置**(开发模式)
|
||||
2. ✅ **启动服务测试登录功能**
|
||||
3. ✅ **使用日志中的验证码进行测试**
|
||||
### 当前配置(生产模式)
|
||||
1. ✅ **模板ID已配置为154360**(生产模式)
|
||||
2. ⚠️ **验证发信地址**(重要)
|
||||
- 确保 `newletter@vionow.com` 在SES控制台已验证
|
||||
- 访问:https://console.cloud.tencent.com/ses/address
|
||||
|
||||
### 生产环境准备(如需要)
|
||||
1. ⚠️ **验证发信地址**
|
||||
- 在SES控制台验证 `noreply@vionow.com`
|
||||
3. ⚠️ **测试实际发送邮件**
|
||||
- 重启服务(如果正在运行)
|
||||
- 发送测试验证码
|
||||
- 检查邮箱是否收到邮件
|
||||
|
||||
2. ⚠️ **创建邮件模板**
|
||||
- 创建验证码邮件模板
|
||||
- 等待审核通过
|
||||
- 获取模板ID
|
||||
|
||||
3. ⚠️ **更新生产环境配置**
|
||||
- 在 `application-prod.properties` 中添加SES配置
|
||||
- 设置环境变量
|
||||
|
||||
4. ⚠️ **测试生产模式**
|
||||
- 更新template-id配置
|
||||
- 重启服务
|
||||
- 测试实际发送邮件
|
||||
4. ⚠️ **更新生产环境配置**
|
||||
- 在 `application-prod.properties` 中已添加SES配置
|
||||
- 设置环境变量 `TENCENT_SES_TEMPLATE_ID=154360`
|
||||
|
||||
---
|
||||
|
||||
@@ -358,22 +326,23 @@ ResourceNotFound.TemplateNotFound
|
||||
## 九、总结
|
||||
|
||||
### 当前状态
|
||||
- ✅ **开发环境配置已完成**,可以直接启动测试
|
||||
- ✅ **开发模式已启用**(template-id=0),不会实际发送邮件
|
||||
- ⚠️ **生产环境配置缺失**,需要添加SES配置
|
||||
- ✅ **开发环境配置已完成**,包括模板ID 154360
|
||||
- ✅ **生产模式已启用**(template-id=154360),会实际发送邮件
|
||||
- ⚠️ **需要确保发信地址已验证**
|
||||
|
||||
### 最小启动要求(开发模式)
|
||||
### 最小启动要求
|
||||
1. ✅ SecretID和SecretKey(已配置)
|
||||
2. ✅ From-email地址(已配置)
|
||||
3. ✅ Template-id=0(开发模式,已配置)
|
||||
2. ✅ From-email地址(已配置:newletter@vionow.com)
|
||||
3. ✅ Template-id=154360(生产模式,已配置)
|
||||
|
||||
### 生产环境要求
|
||||
1. ⚠️ 已验证的发信地址
|
||||
2. ⚠️ 已审核通过的邮件模板
|
||||
3. ⚠️ 生产环境配置文件中的SES配置
|
||||
4. ⚠️ 有效的SecretID/SecretKey和SES服务权限
|
||||
1. ⚠️ 已验证的发信地址(newletter@vionow.com)
|
||||
2. ✅ 已配置的邮件模板(ID: 154360)
|
||||
3. ✅ 生产环境配置文件中的SES配置(已添加)
|
||||
4. ⚠️ 有效的SecretID/SecretKey和SES服务权限(需确认)
|
||||
|
||||
**当前可以:** 直接在开发模式下启动并测试登录功能(验证码在日志中显示)
|
||||
|
||||
**如需实际发送邮件:** 需要完成上述生产环境配置项
|
||||
**当前状态:** 已配置为生产模式,会实际发送邮件。请确保:
|
||||
- 发信地址 `newletter@vionow.com` 已验证
|
||||
- 模板ID 154360 已审核通过
|
||||
- SES服务有可用额度
|
||||
|
||||
|
||||
Reference in New Issue
Block a user