AWS SES 签名不匹配

我使用 nodemailer 和 AWS SES 服务来创建 nodemailer 传输器。当我尝试使用 SES SMTP 发送电子邮件时,它没有出现错误,整个代码可以正常运行,但使用 AWS SES 传输器时,它出现 SignatureDoesnotMatch 错误。而 SMTP 传输器和 SES 传输器中的 access-key-ID 和 Secret-access-Key 是相同的。

这是我的代码示例

AWS.config.update({
    accessKeyId: "<<access-Key-ID>>",secretaccessKey: "<<Secret-access-Key>>",region: "us-west-2",});

  // Instantiate SES.
  const ses = new AWS.SES();

  // Check verified email
  ses.listVerifiedEmailaddresses(function (err,data) {
    if (err) {
      console.log(err);
    } else {
      console.log({ Message: "Here is list of all verified emails",data });
    }
  });

  // Verify customer email address
  const params = {
    Emailaddress: activeAlert.destination,};
  ses.verifyEmailaddress(params,function (err,data) {
    if (err) {
      console.log(err);
    } else {
      console.log({ message: "Email verification successfull",data });
    }
  });

     // Create nodemailer SES transporter
     // AWS SES transport
     let transporter = nodemailer.createTransport({
        SES: new AWS.SES({ apiVersion: "2010-12-01",region: "us-west-2" }),});

// While SMTP transporter is here just for example. I tried both of them but SMPT works fine for me. 
let transporter = nodemailer.createTransport({
    host: "<<AWS HOST>>",port: 465,auth: {
      user: "<<access-Key-ID>>",pass: "<<Secret-access-Key>>",},});

电子邮件部分与 SMTP 配合良好,但我想使用 AWS-SDK 的功能,这也给了我 SignatureDoesnotMatch 错误。我不知道我想念什么。我想消除调用 AWS-SDK 函数时的 SignatureDoesnotMatch 错误(listVerifiedEmailaddresses、verifyEmailaddress)。

如果我在代码中写错了请纠正我并帮助我摆脱这个错误。

weedssjl 回答:AWS SES 签名不匹配

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/22729.html

大家都在问