2016-09-12 2 views
2

Je créé compte de sentiers amazon pour tester le service SES SMTP, mais je m'y suis erreur suivantAmazon SES - SMTP Erreur Code d'état 403: SignatureDoesNotMatch

{ [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 } 

Voici le script NodeJS, que j'utilise

var aws = require('aws-sdk'); 
var ses = new aws.SES({ 
    'accessKeyId': 'KEY', 
    'secretAccessKey': 'SECRET', 
    'region': 'REGION' 
}); 
var eparam = { 
    Destination: { 
     ToAddresses: ['[email protected]'] 
    }, 
    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: '[email protected]', 
    ReplyToAddresses: ['[email protected]'], 
    ReturnPath: '[email protected]' 
}; 

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

S'il vous plaît noter:

emailids [email protected] et [email protected] les deux sont vérifiées. ma région SES nous-Ouest-2

+0

Vous devez immédiatement invalider ces informations d'identification IAM, si elles sont réelles, et ne publiez pas votre clé secrète en ligne dans le futur. Cela vous expose à une responsabilité potentiellement grave et peut compromettre votre compte. Espérons que c'était un exemple, mais ça a l'air réel. –

Répondre

0

J'ai eu le même problème, je me suis retrouvé à l'aide d'une configuration SMTP, similaire à ce tutorial et rétrogradé à de 2,6 -> 0.7.1 pour obtenir mon courrier envoyer. Il existe une sorte de problème de configuration quelque part qui n'est pas suffisamment documenté pour être trouvé après deux jours de recherches google spécifiques.