用户无权执行:ses:VerifyEmailAddress

时间:2014-06-11 13:37:55

标签: c# .net amazon-web-services amazon-ses

我最近注册了亚马逊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:用户:   myUsername无权执行:ses:VerifyEmailAddress   ----> System.Net.WebException:远程服务器返回错误:(403)Forbidden。

此外,我尝试了其他一些操作,例如ListVerifiedEmailAddresses,但结果却相同。

有人可以帮我解决一下这里的事吗?

在亚马逊开发者论坛上发布问题是没有用的。直到现在都没有回复。另外我怀疑我需要使用Production Access来调用此方法。是吗?另请记住,我可以使用AWS SMTP设置成功发送电子邮件。

感谢。

1 个答案:

答案 0 :(得分:3)

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

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