我在我的服务中使用aws-sdk来发送电子邮件。我得到了下面的异常代码,它以前工作得很好。
const aws = require('aws-sdk');
var params = {
Destination: {
ToAddresses: [
'checkMail@gmail.com'
]
},
Message: {
Body: {
Html: {
Charset: "UTF-8",
Data: "HTML_FORMAT_BODY"
},
Text: {
Charset: "UTF-8",
Data: "this is sample"
}
},
Subject: {
Charset: 'UTF-8',
Data: 'Test email'
}
},
Source: 'AWS Services<awsEmails@awsService.com>'
ReplyToAddresses: [
'AwsServices<noreply@awsServices.com>'
],
};
// Create the promise and SES service object
var emailPromise = new aws.SES({apiVersion: '2010-12-01'}).sendEmail(params).promise();
// Handle promise's fulfilled/rejected states
emailPromise.then(
function(data) {
//my logic on success goes here
}).catch(
function(err) {
//my logic on error goes here
});
我尝试对来自AWS的电子邮件使用不同的API调用,但都返回相同的错误。
发布于 2021-02-17 19:10:07
如果只是使用单个服务,
yarn add @aws-sdk/client-ses
,然后再使用它const { SESClient, SendEmailCommand } = require("@aws-sdk/client-ses");
我在这里向您展示了一个完整的示例,使用nodeJS lambda函数中的SES发送电子邮件:
const {
SESClient,
SendEmailCommand,
} = require("@aws-sdk/client-ses");
const REGION = "eu-west-3"; // Use you AWS region
const ses = new SESClient({ region: REGION });
exports.handler = async function (event) {
const path = event.path;
if (path === "/send-email") {
const peopleAmount = 12;
const params = {
Source: "John Wick <john.wick@killer.com>",
Destination: {
ToAddresses: ["adresse1@test.com"],
},
Message: {
Body: {
Html: {
Data: `<span>This email is about <b>${peopleAmount}</b> people.</span>`,
},
},
Subject: {
Data: "Email Title",
},
},
};
try {
const data = await ses.send(new SendEmailCommand(params));
return {
statusCode: 200,
body: peopleAmount,
};
} catch (e) {
console.error(e, e.stack);
return {
statusCode: 400,
body: "Sending failed",
};
}
}
}
https://stackoverflow.com/questions/62874565
复制相似问题