【问题标题】:The request signature we calculated does not match the signature you provided我们计算的请求签名与您提供的签名不匹配
【发布时间】:2018-12-02 23:46:33
【问题描述】:

我正在使用 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");
   }

     }

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 2021-10-15
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-23
      • 2017-12-20
      相关资源
      最近更新 更多