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)。

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)