在 NextJS 应用程序中设置 AWS SES 时出现持久性配置问题

问题描述 投票:0回答:0

经过长时间的阅读文档和调试,我一直被这个错误困住了一段时间,似乎找不到任何修复:CredentialsError: Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1

import aws from "aws-sdk";

const ses = new aws.SES({ region: "us-east-1" });

const buildEmailParams = (receiverEmail, subject, htmlBody) => {
  return {
    Destination: {
      ToAddresses: [receiverEmail],
      BccAddresses: [],
      CcAddresses: []
    },
    Message: {
      Body: {
        Html: {
          Charset: "UTF-8",
          Data: htmlBody
        },
      },
      Subject: {
        Charset: "UTF-8",
        Data: subject
      }
    },
    ReturnPath: "[email protected]",
    Source: "[email protected]",
  };
};

const sendSESEmail = async (data) => {
  const { receiverEmail, subject, htmlBody } = data;

  const params = buildEmailParams(receiverEmail, subject, htmlBody);

  try {
    await ses.sendEmail(params).promise(); // ERROR IS HERE
    console.log("Email sent successfully");
    return true;
  } catch (err) {
    console.log(err);
    throw err;
  }
};

export { sendSESEmail };

我已经添加了我的 .env 变量,它们配置正确,我已经重启服务器几次。我尝试从 aws-sdk 模块导入 { config } 并添加此代码:

config.update({
  accessKeyId: process.env.AWS_ACCESS_KEY_ID,
  secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
}); 

这也被证明在同一期中产生了。我所有的环境变量都设置正确,我的访问密钥是正确的,但似乎没有办法解决这个错误。我的整个设置错了吗?我一定是忽略了什么。

我已经添加了我的 .env 变量,它们配置正确,我已经重启服务器几次。我尝试从 aws-sdk 模块导入 { config } 并添加此代码:

config.update({
  accessKeyId: process.env.AWS_ACCESS_KEY_ID,
  secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
}); 
amazon-web-services next.js amazon-iam amazon-ses aws-config
© www.soinside.com 2019 - 2024. All rights reserved.