- 修复邮件服务区域配置(改为ap-hongkong) - 增强支付宝支付错误诊断和日志 - 修复代码质量问题(OrderService、ImageToVideoTask) - 添加支付宝支付问题排查文档 - 增加详细的错误诊断信息
3.1 KiB
3.1 KiB
腾讯云SES权限配置指南
问题描述
当前错误:
AuthFailure.UnauthorizedOperation
you are not authorized to perform operation (ses:SendEmail)
resource (*) has no permission
这个错误表示您的腾讯云访问密钥没有发送邮件的权限。
解决方案
方案1:在腾讯云控制台配置权限(推荐)
-
登录腾讯云控制台
-
进入访问管理(CAM)
- 在控制台顶部搜索"访问管理"或"CAM"
- 或者直接访问:https://console.cloud.tencent.com/cam
-
配置子账号权限
- 如果使用的是子账号密钥,需要为该子账号添加SES权限:
- 进入"用户" → 找到对应用户 → 点击"授权"
- 搜索"SES"或"邮件推送"
- 添加策略:
QcloudSESFullAccess(SES全读写访问权限) - 或者使用自定义策略,只授予
ses:SendEmail权限
- 如果使用的是子账号密钥,需要为该子账号添加SES权限:
-
如果使用主账号密钥
- 主账号默认拥有所有权限
- 如果仍然报错,可能是密钥错误或已禁用
- 检查:访问管理 → API密钥管理 → 查看密钥状态
-
验证配置
- 权限配置后可能需要几分钟生效
- 重新启动应用并测试
方案2:使用开发模式(临时方案)
如果您在开发环境测试,可以暂时使用开发模式:
-
修改配置文件
application-dev.properties:# 设置为0以使用开发模式(不发送真实邮件,仅在日志中记录验证码) tencent.ses.template-id=0 -
开发模式行为
- 不会调用腾讯云SES API
- 验证码会记录在日志中
- 可以直接使用日志中的验证码进行测试
方案3:创建自定义CAM策略(精细化权限)
如果您只想授予发送邮件权限,可以创建自定义策略:
-
进入CAM策略管理
-
创建自定义策略
{ "version": "2.0", "statement": [ { "effect": "allow", "action": [ "ses:SendEmail" ], "resource": "*" } ] } -
将策略绑定到子账号
- 进入"用户" → 找到对应用户 → 点击"授权"
- 选择刚创建的自定义策略
当前配置信息
根据您的配置文件:
- SecretID:
AKIDXw8HBtNfjdJm480xljV4QZUDi05wa0DE - 区域:
ap-beijing - 发信地址:
newletter@vionow.com - 模板ID:
154360
检查清单
- 验证发信地址
newletter@vionow.com已在腾讯云SES控制台验证通过 - 验证模板ID
154360存在且已审核通过 - 验证访问密钥所属账号具有SES发送邮件权限
- 验证密钥未过期或被禁用
- 等待权限配置生效(通常1-2分钟)