我们计算的请求签名与您提供的签名不匹配

时间:2017-11-22 08:52:45

标签: amazon-web-services signature amazon-ses

我在这里使用SES发送电子邮件是我的代码你能告诉我有什么问题吗?

有没有人面临同样的问题?

我还检查了我的凭据,他们也是正确的。

  $client = SesClient::factory(array(
      'version'=> 'latest',     
      'region' => REGION,
     'credentials' => array(
    'key'    => "AKIA***********",
    'secret' => "AoIM6Z/clu********************",
),
  ));

  try {
       $result = $client->sendEmail([
      'Destination' => [
          'ToAddresses' => [
              RECIPIENT,
          ],
      ],
      'Message' => [
          'Body' => [
              'Html' => [
                  'Charset' => CHARSET,
                  'Data' => HTMLBODY,
              ],
        'Text' => [
                  'Charset' => CHARSET,
                  'Data' => TEXTBODY,
              ],
          ],
          'Subject' => [
              'Charset' => CHARSET,
              'Data' => SUBJECT,
          ],
      ],
      'Source' => SENDER,
      // If you are not using a configuration set, comment or delete the
      // following line
      'ConfigurationSetName' => CONFIGSET,
  ]);
       $messageId = $result->get('MessageId');
       echo("Email sent! Message ID: $messageId"."\n");

    } catch (SesException $error) {
        echo("The email was not sent. Error message: ".$error-
    >getAwsErrorMessage()."\n");
   }

     }

1 个答案:

答案 0 :(得分:1)

经过这么多谷歌搜索后,我发现我的凭据是错误的。只需重新生成凭据,再试一次它应该可以正常工作。另一件事是when键包含'/',它将不起作用,所以如果你的键包含'/',重新生成它。

相关问题