状态码403:SignatureDoesNotMatch当我使用Amazon SES时
我创建了一个新的亚马逊账户。 创建了SMTP凭据并使用AWS Java SDK发送电子邮件。 但是由于以下错误而失败:
状态代码:403,AWS服务:AmazonSimpleEmailService,AWS请求ID:xyz,AWS错误代码:SignatureDoesNotMatch,AWS错误消息:我们计算的请求签名与您提供的签名不匹配。 检查您的AWS秘密访问密钥和签名方法。 详细信息请参阅服务文档。
要发送电子邮件的密钥不是“SMTP凭据”。 关键是可以检索全局访问键http://docs.amazonwebservices.com/ses/latest/GettingStartedGuide/GetAccessIDs.html。
SMTP凭证无效用于SES API(AWS Java SDK)。 实际上,SMTP凭证与为IAM用户手动创建的凭证不同,即使在AWS控制台上的任何位置都看不到此不同。 看看这里看看不同之处:http://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-credentials.html
您实际上并不需要创建全局访问凭据(可能是安全漏洞),但您应该使用以下安全策略创建一个新的IAM用户,并为该用户创建新凭据。
{
"Version": "2012-10-17",
"Statement":[{
"Effect":"Allow",
"Action":["ses:SendEmail", "ses:SendRawEmail"],
"Resource":"*"
}
]
}
PS:很可能,您只需向已为SES创建的SMTP IAM用户添加新凭据,但我尚未对其进行测试。
链接地址: http://www.djcxy.com/p/38989.html上一篇: Status Code 403: SignatureDoesNotMatch when I am using Amazon SES