我最近注册了亚马逊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设置成功发送电子邮件。
感谢。
答案 0 :(得分:3)
您使用的是与IAM用户关联的凭据吗?如果是这种情况,则需要向IAM用户添加策略,以允许在SES中执行这些特定操作。像这样:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1402494612000",
"Effect": "Allow",
"Action": [
"ses:ListVerifiedEmailAddresses",
"ses:VerifyEmailAddress"
],
"Resource": [
"*"
]
}
]
}