php – SES AWS错误代码:SignatureDoesNotMatch,状态代码:403

我在尝试通过Amazon SES发送邮件时收到AWS错误代码:SignatureDoesNotMatch,状态代码:403.

我已经确认我使用的是我通过https://console.aws.amazon.com/iam/home?#users创建的正确凭据,但错误仍然存​​在.

我假设我在iam / home上创建的凭据实际上是全局的,但我不知道我做错了什么.整个错误是:

AWS Error Code: SignatureDoesNotMatch, Status Code: 403, AWS Request
ID: xxx, AWS Error Type: client, AWS Error Message: Signature expired:
20140314T031111Z is now earlier than 20140317T15116Z (20140317T151111Z
– 5 min.), User-Agent: aws-sdk-php2/2.5.3 Guzzle/3.8.1 curl/7.22.0 PHP/5.3.10-1ubuntu3.10 thrown in
/url/Vendor/Aws/Common/Exception/NamespaceExceptionFactory.php on line
91

实际代码是我从中获取的代码:http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.Ses.SesClient.html#_sendEmail

我从我的本地环境中解雇了这个脚本.

我在哪里可以找到有用的凭据?

解决方法:

这看起来像时钟偏差问题.您发送请求的计算机的时间与Amazon SES服务器的时间差异太大.这导致您的签名无效.你的凭据可能没问题.更正机器的时钟或与NTP服务器同步.

上一篇:Android-Amazon应用内购买


下一篇:我为什么不能通过BeautifulSoup刮擦亚马逊?