Amazon SES - SMTP错误状态代码403:SignatureDoesNotMatch

时间:2016-09-12 09:09:07

标签: node.js amazon-web-services aws-sdk amazon-ses

我创建了亚马逊跟踪帐户来测试SES SMTP服务,但我收到了以下错误

{ [SignatureDoesNotMatch: 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-west-2.amazonaws.com
x-amz-content-sha256:72ac6f1d5dc1a4218fc4076dea3277a8a676b15e2c5143229cb3503465817440
x-amz-date:20160912T084424Z

host;x-amz-content-sha256;x-amz-date
72ac6f1d5dc1a4218fc4076dea3277a8a676b15e2c5143229cb3503465817440'

The String-to-Sign should have been
AWS4-HMAC-SHA256
20160912T084424Z
20160912/us-west-2/ses/aws4_request
a1b9fe2e23bbd4456f9b2a8f4115bd84571b8ccbbf9612d2e6b9d330ca6975a7'
]
  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.\n\nThe Canonical String for this request should have been\n\'POST\n/\n\nhost:email.us-west-2.amazonaws.com\nx
-amz-content-sha256:72ac6f1d5dc1a4218fc4076dea3277a8a676b15e2c5143229cb3503465817440\nx-amz-date:20160912T084424Z\n\nhost;x-amz-content-sha256;x-amz-d
ate\n72ac6f1d5dc1a4218fc4076dea3277a8a676b15e2c5143229cb3503465817440\'\n\nThe String-to-Sign should have been\n\'AWS4-HMAC-SHA256\n20160912T084424Z\n
20160912/us-west-2/ses/aws4_request\na1b9fe2e23bbd4456f9b2a8f4115bd84571b8ccbbf9612d2e6b9d330ca6975a7\'\n',
  code: 'SignatureDoesNotMatch',
  time: Mon Sep 12 2016 14:14:27 GMT+0530 (India Standard Time),
  requestId: '1cc26156-78c5-11e6-8397-a55641b47b84',
  statusCode: 403,
  retryable: false,
  retryDelay: 55.79463441390544 }

这是NodeJS脚本,我正在使用

var aws = require('aws-sdk');
var ses = new aws.SES({
    'accessKeyId': 'KEY',
    'secretAccessKey': 'SECRET',
    'region': 'REGION'
});
var eparam = {
    Destination: {
        ToAddresses: ['mirXXXX@gmail.com']
    },
    Message: {
        Body: {
            Html: {
                Data: '<p>Hello, this is a test email!</p>'
            },
            Text: {
                Data: 'Hello, this is a test email!'
            }
        },
        Subject: {
            Data: 'SES email test'
        }
    },
    Source: 'mirXXXX@outlook.com',
    ReplyToAddresses: ['mirXXXX@outlook.com'],
    ReturnPath: 'mirXXXX@outlook.com'
};

ses.sendEmail(eparam, function (err, data) {
    if (err) console.log(err);
    else console.log(data);
});

请注意:

  

emailids mirXXXX@outlook.com和mirXXXX@gamil.com   两者都经过验证。我的SES地区是us-west-2

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我最终使用了SMTP设置,类似于此tutorial,并降级为2.6 - &gt; 0.7.1让我的邮件发送。在某些地方存在某种配置问题,经过两天的特定谷歌搜索后,没有足够的文档可以找到。

相关问题