Files
AIGC/demo/TENCENT_SES_STARTUP_CHECKLIST.md

8.1 KiB
Raw Blame History

腾讯云SES邮件服务启动检查清单

启动前必需准备项

1. 腾讯云账号和凭证 ⚠️ 必需

获取步骤:

  1. 登录腾讯云控制台

  2. 获取API密钥

    • 访问:https://console.cloud.tencent.com/cam/capi
    • 创建或查看API密钥
    • 获取以下信息:
      SecretID: 例如 AKIDz8krbsJ5yKBZQpn74WFkmLPx3gnPhESA
      SecretKey: 例如 Gu5t9xGARNpqDXcd3I4WZkFpAALPVZ7pKbNScfFsj
      
  3. 开通SES邮件推送服务

2. 配置发信地址 ⚠️ 必需

配置步骤:

  1. 创建发信地址

  2. 验证发信地址

    • 腾讯云会向该邮箱发送验证邮件
    • 点击邮件中的验证链接完成验证
    • ⚠️ 重要:只有验证通过的邮箱才能发送邮件
  3. 记录已验证的发信地址

    • 例如:noreply@vionow.com
    • 配置到 application-dev.properties 中的 tencent.ses.from-email

3. 创建邮件模板 ⚠️ 必需(生产环境)

配置步骤:

  1. 访问模板管理

    • 在SES控制台的"邮件模板"中创建
  2. 创建模板

    • 模板类型:选择"触发邮件"或"批量邮件"
    • 模板内容示例:
      您的验证码是:{{code}}
      验证码有效期5分钟请勿泄露给他人。
      如果不是您本人操作,请忽略此邮件。
      
    • 在模板中使用 {{变量名}} 来定义可替换的变量
  3. 记录模板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

🎯 推荐启动流程

第一步:开发模式测试(推荐先做)

  1. 确保SecretID和SecretKey已配置
  2. 确保from-email已配置即使未验证也可先测试
  3. 保持template-id=0
  4. 启动服务
  5. 测试发送验证码接口
  6. 查看日志确认功能正常

第二步:配置真实发送(如需要)

  1. 在腾讯云SES控制台验证发信地址
  2. 创建邮件模板并获取模板ID
  3. 更新template-id配置
  4. 重启服务
  5. 测试实际发送邮件

📚 参考资源

总结

最小启动要求

  1. SecretID和SecretKey已配置
  2. From-email地址已配置需确认已验证
  3. Template-id=0开发模式已配置

当前状态可以直接启动(开发模式)

如果需要实际发送邮件,需要:

  • 验证发信地址
  • 创建邮件模板并配置template-id