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