You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript调用AWS SES报ses:SendEmail未授权错误,该如何解决?

AWS SES 发送邮件报错解决方案

1. 认证配置说明

是的,你需要配置AWS身份认证信息(Access Key ID、Secret Access Key),AWS SDK会自动读取这些信息完成身份校验,不需要硬编码到业务代码中。
本地开发环境可通过以下方式配置:

  • 安装AWS CLI后执行aws configure命令,按提示依次输入Access Key ID、Secret Access Key、默认区域(填写你代码中使用的us-east-1即可)、默认输出格式填写json即可。
  • 配置完成后凭证会自动存储在本地~/.aws/credentials文件,SDK运行时会自动读取。
    如果你将代码部署在AWS云服务上(如Lambda、EC2、ECS等),直接给对应服务的IAM角色附加权限即可,不需要手动配置AK/SK,避免密钥泄露。

2. 权限缺失修复方案

你遇到的User is not authorized to perform ses:SendEmail on resource报错核心原因是当前使用的IAM身份(用户/角色)没有SES邮件发送权限,按以下步骤添加权限即可:

  • 登录AWS控制台进入IAM服务页面
  • 找到你当前使用的IAM用户/角色,进入权限管理页
  • 点击添加权限→创建内联策略,切换到JSON视图后粘贴以下策略:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ses:SendEmail",
            "Resource": "*"
        }
    ]
}

如果需要最小权限管控,可将Resource字段替换为你验证过的发件邮箱ARN。

3. 额外校验项

  • 确认你的发件邮箱已在SES对应区域控制台完成验证,若你的SES还处于沙箱环境,收件邮箱也需要提前完成验证才能正常接收邮件
  • 确认代码中填写的区域和SES邮箱验证的区域一致
  • 禁止将AK/SK硬编码到代码中,避免密钥泄露风险

内容的提问来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:27:03