用户未被授权执行:ses:VerifyEmailAddress

本文关键字:ses VerifyEmailAddress 执行 授权 用户 | 更新日期: 2023-09-27 18:08:21

我最近注册了亚马逊SES服务。我已经生成了我的SMTP设置,访问密钥和秘密密钥。我也没有生产访问现在。我是一个。net开发人员,并试图通过我的代码验证电子邮件地址。下面是代码片段:

var amConfig = new AmazonSimpleEmailServiceConfig {UseSecureStringForAwsSecretKey = false};
var amzClient = new AmazonSimpleEmailServiceClient(_awsAccessKey, _awsSecretKey, amConfig);
var veaRequest = new VerifyEmailAddressRequest {EmailAddress = "myemail@somedomain.com"};
VerifyEmailAddressResponse veaResponse = amzClient.VerifyEmailAddress(veaRequest);
string requestId = veaResponse.ResponseMetadata.RequestId;
return requestId;

但是我收到以下错误:

Amazon.SimpleEmail。AmazonSimpleEmailServiceException: User:myUsername没有权限执行:ses:VerifyEmailAddress----> system.net.webexcexception: The remote server returned an error: (403) Forbidden.

我还尝试了其他一些操作,如ListVerifiedEmailAddresses,但最终得到了相同的结果。

谁能告诉我这是怎么回事?

在亚马逊开发者论坛上发布这个问题是没有用的。到现在还没有回复。另外,我怀疑我需要有生产访问来调用这个方法。是吗?还要记住,我能够使用AWS SMTP设置成功发送电子邮件。

谢谢。

用户未被授权执行:ses:VerifyEmailAddress

您是否使用与IAM用户关联的凭据?如果是这种情况,您需要向IAM用户添加一个策略,以允许SES中的这些特定操作。像这样:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1402494612000",
      "Effect": "Allow",
      "Action": [
        "ses:ListVerifiedEmailAddresses",
        "ses:VerifyEmailAddress"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}