Files
AIGC/demo/TENCENT_SES_PERMISSION_FIX.md
AIGC Developer 149b201300 优化邮件发送功能和支付宝支付诊断
- 修复邮件服务区域配置(改为ap-hongkong)
- 增强支付宝支付错误诊断和日志
- 修复代码质量问题(OrderService、ImageToVideoTask)
- 添加支付宝支付问题排查文档
- 增加详细的错误诊断信息
2025-11-03 13:20:30 +08:00

3.1 KiB
Raw Blame History

腾讯云SES权限配置指南

问题描述

当前错误:

AuthFailure.UnauthorizedOperation
you are not authorized to perform operation (ses:SendEmail)
resource (*) has no permission

这个错误表示您的腾讯云访问密钥没有发送邮件的权限。

解决方案

方案1在腾讯云控制台配置权限推荐

  1. 登录腾讯云控制台

  2. 进入访问管理CAM

  3. 配置子账号权限

    • 如果使用的是子账号密钥需要为该子账号添加SES权限
      • 进入"用户" → 找到对应用户 → 点击"授权"
      • 搜索"SES"或"邮件推送"
      • 添加策略:QcloudSESFullAccessSES全读写访问权限
      • 或者使用自定义策略,只授予ses:SendEmail权限
  4. 如果使用主账号密钥

    • 主账号默认拥有所有权限
    • 如果仍然报错,可能是密钥错误或已禁用
    • 检查:访问管理 → API密钥管理 → 查看密钥状态
  5. 验证配置

    • 权限配置后可能需要几分钟生效
    • 重新启动应用并测试

方案2使用开发模式临时方案

如果您在开发环境测试,可以暂时使用开发模式:

  1. 修改配置文件 application-dev.properties

    # 设置为0以使用开发模式不发送真实邮件仅在日志中记录验证码
    tencent.ses.template-id=0
    
  2. 开发模式行为

    • 不会调用腾讯云SES API
    • 验证码会记录在日志中
    • 可以直接使用日志中的验证码进行测试

方案3创建自定义CAM策略精细化权限

如果您只想授予发送邮件权限,可以创建自定义策略:

  1. 进入CAM策略管理

  2. 创建自定义策略

    {
        "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分钟

相关文档