【发布时间】:2014-03-28 16:43:51
【问题描述】:
使用Amazon SDK 尝试从我们的系统发送电子邮件。
我遵循的步骤:
创建了 AWS 账户,验证了 mydomainname.co.uk 并验证了 2 个电子邮件地址。 me@personal.co.uk 和 me@mydomainname.co.uk
然后我设置 SMTP 凭据并使用 API 密钥和密钥作为我的访问凭据来创建客户端
$sesClient = SesClient::factory(array(
'key' => 'AKIAIXXXXXXXXXXX5LGQ',
'secret' => 'AqNL4XXXXXXXXXXXCaBxDMWjzcY4zGbN8tR2S',
'region' => 'us-west-2',
));
var_dump($sesClient->getSendQuota());
只要我运行任何与 API 交互的东西,我就会得到以下异常
The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
澄清一下:
- 我已在 AWS Web 界面上成功发送了测试电子邮件
- 我已经尝试过许多不同的用户
- 我也尝试过使用 SMTP 用户/密码,但得到的响应是我的凭据无效
- 我已经用我在网上发现的各种库包装器代码进行了尝试,同样的错误
- 我仍处于测试模式,但这应该没问题,因为我只是尝试从经过验证的电子邮件地址发送到经过验证的电子邮件地址 - 对吗?
我能想到的唯一一件事:我在本地机器上设置了一个测试环境,但它不在我的已验证域上,可能是 AWS 希望我从已验证的域名发送我的请求,以便验证它?
编辑
刚刚尝试在我的生产机器上运行此代码,我得到了同样的错误
也许我需要生产模式?
【问题讨论】:
-
您是否从 ses 域部分验证了域。