PHP调用AWS SES服务发送邮件报403 Forbidden SignatureDoesNotMatch

错误描述

使用sdk-for-phphttps://docs.aws.amazon.com/zh_cn/sdk-for-php/v3/developer-guide/welcome.html

$emailConfig     = [
    'key'       => 'xxxxxx',
    'secret'    => 'xxxxxx',
    'region'    => 'us-east-1',
    'sender'    => 'support@appblog.cn',
];

Error executing "SendRawEmail" on "https://email.us-east-1.amazonaws.com"; AWS HTTP error: Client error: `POST https://email.us-east-1.amazonaws.com` resulted in a `403 Forbidden` response:
<ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
  <Error>
    <Type>Sender</Type>
    <Code>SignatureDo (truncated...)
 SignatureDoesNotMatch (client): 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.

The Canonical String for this request should have been
'POST
/

host:email.us-east-1.amazonaws.com
x-amz-date:20210330T020743Z

host;x-amz-date
e921dae6c46aa9c5db01b8aa68fefc10794c65c6612987d85d1c3482943b2eba'

The String-to-Sign should have been
'AWS4-HMAC-SHA256
20210330T020743Z
20210330/us-east-1/ses/aws4_request
968b7b0686f381beefac6be2b39637cd5ed83071624c4a47f3d6a6bad89b5c1c'
 - <ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
  <Error>
    <Type>Sender</Type>
    <Code>SignatureDoesNotMatch</Code>
    <Message>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.

The Canonical String for this request should have been
'POST
/

host:email.us-east-1.amazonaws.com
x-amz-date:20210330T020743Z

host;x-amz-date
e921dae6c46aa9c5db01b8aa68fefc10794c65c6612987d85d1c3482943b2eba'

The String-to-Sign should have been
'AWS4-HMAC-SHA256
20210330T020743Z
20210330/us-east-1/ses/aws4_request
968b7b0686f381beefac6be2b39637cd5ed83071624c4a47f3d6a6bad89b5c1c'
</Message>
  </Error>
  <RequestId>f020662d-0b8d-432b-93af-0b649a0c2a21</RequestId>
</ErrorResponse>

解决方法

您需要先支付 0.2元 才能查看此处内容!

立即支付
已支付?点击这里查询

上一篇 AWS SES通过PHP发送带附件的邮件
下一篇 AWS ACM 证书管理
目录
文章列表
1 MySQL修改时区的方法小结
MySQL修改时区的方法小结
2
RestTemplate中使用ParameterizedTypeReference参数化类型支持泛型
RestTemplate中使用ParameterizedTypeReference参数化类型支持泛型
3
Android Jetpack架构组件(三)CameraX使用入门
Android Jetpack架构组件(三)CameraX使用入门
4
常用正则表达式汇总
常用正则表达式汇总
5
Android申请电源锁与释放电源锁
Android申请电源锁与释放电源锁
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。