- 修改RealAIService.submitTextToImageTask使用nano-banana/nano-banana-hd模型 - 支持根据hdMode参数选择模型(标准/高清) - 修复数据库列类型:将result_url等字段改为TEXT类型以支持Base64图片 - 添加数据库修复SQL脚本(fix_database_columns.sql, update_database_schema.sql) - 改进StoryboardVideoService的错误处理和空值检查 - 添加GlobalExceptionHandler全局异常处理 - 优化图片URL提取逻辑,支持url和b64_json两种格式 - 改进响应格式验证,确保data字段不为空
8.1 KiB
8.1 KiB
腾讯云SES邮件服务启动检查清单
✅ 启动前必需准备项
1. 腾讯云账号和凭证 ⚠️ 必需
获取步骤:
-
登录腾讯云控制台
- 访问:https://console.cloud.tencent.com
- 如无账号,需先注册
-
获取API密钥
- 访问:https://console.cloud.tencent.com/cam/capi
- 创建或查看API密钥
- 获取以下信息:
SecretID: 例如 AKIDz8krbsJ5yKBZQpn74WFkmLPx3gnPhESA SecretKey: 例如 Gu5t9xGARNpqDXcd3I4WZkFpAALPVZ7pKbNScfFsj
-
开通SES(邮件推送)服务
- 访问:https://console.cloud.tencent.com/ses
- 确保服务已开通
- 查看是否有免费额度或已充值
2. 配置发信地址 ⚠️ 必需
配置步骤:
-
创建发信地址
- 在SES控制台的"发信地址"中创建
- 输入你的邮箱地址(例如:noreply@yourdomain.com)
-
验证发信地址
- 腾讯云会向该邮箱发送验证邮件
- 点击邮件中的验证链接完成验证
- ⚠️ 重要:只有验证通过的邮箱才能发送邮件
-
记录已验证的发信地址
- 例如:
noreply@vionow.com - 配置到
application-dev.properties中的tencent.ses.from-email
- 例如:
3. 创建邮件模板 ⚠️ 必需(生产环境)
配置步骤:
-
访问模板管理
- 在SES控制台的"邮件模板"中创建
-
创建模板
- 模板类型:选择"触发邮件"或"批量邮件"
- 模板内容示例:
您的验证码是:{{code}} 验证码有效期5分钟,请勿泄露给他人。 如果不是您本人操作,请忽略此邮件。 - 在模板中使用
{{变量名}}来定义可替换的变量
-
记录模板ID
- 创建成功后,在模板列表中找到模板ID
- 例如:
12345 - 配置到
application-dev.properties中的tencent.ses.template-id
4. 配置文件更新 ⚠️ 必需
更新 demo/src/main/resources/application-dev.properties:
# 腾讯云SES配置
tencent.ses.secret-id=你的SecretID # ⚠️ 必须配置
tencent.ses.secret-key=你的SecretKey # ⚠️ 必须配置
tencent.ses.region=ap-beijing # 可选,默认beijing
tencent.ses.from-email=已验证的发信地址 # ⚠️ 必须配置
tencent.ses.from-name=AIGC平台 # 可选
tencent.ses.template-id=0 # 0=开发模式,实际模板ID=生产模式
当前配置状态检查:
- ✅ SecretID: 已配置(
AKIDz8krbsJ5yKBZQpn74WFkmLPx3gnPhESA) - ✅ SecretKey: 已配置
- ✅ Region: 已配置(
ap-beijing) - ✅ From-email: 已配置(
noreply@vionow.com) - ⚠️ Template-id: 当前为
0(开发模式)
5. Maven依赖检查 ✅ 已完成
项目已包含腾讯云SDK依赖:
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<version>3.1.880</version>
</dependency>
✅ 无需额外操作
📋 快速检查清单
启动前请确认:
- ✅ 腾讯云账号已注册
- ✅ 已获取SecretID和SecretKey
- ✅ 已开通SES邮件推送服务
- ✅ 已创建并验证发信地址
- ✅ 配置文件
application-dev.properties已更新正确的凭证 - ✅ 发信地址已配置到
tencent.ses.from-email - ⚠️ 生产环境:已创建邮件模板并获取模板ID
🚀 启动步骤
方式1:开发模式启动(无需模板,推荐先测试)
特点:
- 不需要创建邮件模板
- 不会实际发送邮件
- 验证码会在日志中显示
- 适合本地开发测试
配置:
tencent.ses.template-id=0 # 保持为0
启动:
cd demo
./mvnw spring-boot:run
# 或
mvn spring-boot:run
测试:
# 调用发送验证码接口
curl -X POST http://localhost:8080/api/verification/email/send \
-H "Content-Type: application/json" \
-d '{"email":"your-email@example.com"}'
查看日志:
WARN 未配置邮件模板ID,使用开发模式。验证码: 123456, 邮箱: your-email@example.com
INFO 开发模式:邮件验证码发送到: your-email@example.com, 验证码: 123456
方式2:生产模式启动(需要模板)
特点:
- 实际发送邮件
- 需要配置模板ID
- 需要已验证的发信地址
配置:
tencent.ses.template-id=你的模板ID # 例如: 12345
启动:
cd demo
./mvnw spring-boot:run
测试:
# 调用发送验证码接口
curl -X POST http://localhost:8080/api/verification/email/send \
-H "Content-Type: application/json" \
-d '{"email":"your-email@example.com"}'
查看日志:
INFO 开始发送邮件,收件人: your-email@example.com, 主题: 验证码, 模板ID: 12345
INFO 邮件发送成功,收件人: your-email@example.com, 消息ID: xxx
🔍 启动后验证
1. 检查服务是否正常启动
# 查看启动日志,确认没有错误
# 应该看到类似信息:
# Started DemoApplication in X.XXX seconds
2. 测试邮件发送功能
# 方式1:使用curl
curl -X POST http://localhost:8080/api/verification/email/send \
-H "Content-Type: application/json" \
-d '{"email":"test@example.com"}'
# 方式2:使用前端页面
# 访问注册/登录页面,输入邮箱,点击发送验证码
3. 检查日志输出
- 开发模式:应该看到"开发模式"相关日志
- 生产模式:应该看到"邮件发送成功"或错误信息
⚠️ 常见问题排查
问题1:启动时报配置错误
Could not resolve placeholder 'tencent.ses.secret-id'
解决:检查 application-dev.properties 文件是否存在并配置了所有必需项
问题2:发送失败 - 认证错误
InvalidSecretId.InvalidSignature
解决:
- 检查SecretID和SecretKey是否正确
- 确认没有多余的空格或特殊字符
问题3:发送失败 - 发信地址未验证
InvalidParameter.EmailAddressNotVerified
解决:
- 确认发信地址已在腾讯云SES控制台验证
- 检查
tencent.ses.from-email配置是否正确
问题4:发送失败 - 模板不存在
ResourceNotFound.TemplateNotFound
解决:
- 确认模板ID是否正确
- 检查模板是否在正确的区域创建
- 确认模板状态为"已审核通过"
问题5:开发模式下收不到邮件
这是正常的! 开发模式(template-id=0)不会实际发送邮件,只会在日志中显示验证码。
📝 当前配置状态
根据 application-dev.properties:
| 配置项 | 状态 | 说明 |
|---|---|---|
| SecretID | ✅ 已配置 | 需要确认是否正确 |
| SecretKey | ✅ 已配置 | 需要确认是否正确 |
| Region | ✅ 已配置 | ap-beijing |
| From-email | ✅ 已配置 | noreply@vionow.com |
| Template-id | ⚠️ 开发模式 | 当前为0,如需实际发送需配置模板ID |
🎯 推荐启动流程
第一步:开发模式测试(推荐先做)
- ✅ 确保SecretID和SecretKey已配置
- ✅ 确保from-email已配置(即使未验证也可先测试)
- ✅ 保持template-id=0
- ✅ 启动服务
- ✅ 测试发送验证码接口
- ✅ 查看日志确认功能正常
第二步:配置真实发送(如需要)
- ✅ 在腾讯云SES控制台验证发信地址
- ✅ 创建邮件模板并获取模板ID
- ✅ 更新template-id配置
- ✅ 重启服务
- ✅ 测试实际发送邮件
📚 参考资源
- 腾讯云SES控制台:https://console.cloud.tencent.com/ses
- API密钥管理:https://console.cloud.tencent.com/cam/capi
- 腾讯云SES文档:https://cloud.tencent.com/document/product/1288
✅ 总结
最小启动要求:
- ✅ SecretID和SecretKey(已配置)
- ✅ From-email地址(已配置,需确认已验证)
- ✅ Template-id=0(开发模式,已配置)
当前状态:可以直接启动(开发模式)
如果需要实际发送邮件,需要:
- 验证发信地址
- 创建邮件模板并配置template-id