Dar*_*ren 37 amazon-web-services node.js aws-sdk aws-lambda
我在AWS Lambda上创建了一个非常基本的简单函数,用于接受表单提交.
部分功能是向特定的人发送电子邮件,非常简单.我正在尝试使用AWS SES来执行此操作.我已经设置了SES服务等,并验证了我希望发送到的帐户,并且能够发送测试电子邮件.一切都有效!!
现在,当我尝试在AWS Lambda中执行相同操作并使用aws sdk时,它不会发送电子邮件.我没有得到任何错误或错误.
以下是我用于AWS Lambda函数的代码.
有没有人有经验使用lambda和通过ses发送电子邮件,通过lambda函数?或者甚至只使用node.js aws sdk很可能会有所帮助.
var aws = require('aws-sdk');
var ses = new aws.SES({
accessKeyId: 'myAccessKey',
secretAccesskey: 'mySecretKey',
region: 'eu-west-1'
});
exports.handler = function(event, context) {
console.log("Incoming: ", event);
var output = querystring.parse(event);
var eParams = {
Destination: {
ToAddresses: ["toAddress@email.com"]
},
Message: {
Body: {
Text: {
Data: output.Key1
}
},
Subject: {
Data: "Ses Test Email"
}
},
Source: "mysource@source.com"
};
console.log('===SENDING EMAIL===');
var email = ses.sendEmail(eParams, function(err, data){
if(err) console.log(err);
else {
console.log("===EMAIL SENT===");
console.log(data);
}
});
console.log("EMAIL CODE END");
console.log('EMAIL: ', email);
context.succeed(event);
};
Run Code Online (Sandbox Code Playgroud)
Dar*_*ren 26
看来我将context.succeed(事件)放在了错误的代码区域.
一旦我将它移动到sendEmail回调中,一切正常.
var aws = require('aws-sdk');
var ses = new aws.SES({
accessKeyId: 'myAccessKey',
secretAccesskey: 'mySecretKey',
region: 'eu-west-1'
});
exports.handler = function(event, context) {
console.log("Incoming: ", event);
var output = querystring.parse(event);
var eParams = {
Destination: {
ToAddresses: ["toAddress@email.com"]
},
Message: {
Body: {
Text: {
Data: output.Key1
}
},
Subject: {
Data: "Ses Test Email"
}
},
Source: "mysource@source.com"
};
console.log('===SENDING EMAIL===');
var email = ses.sendEmail(eParams, function(err, data){
if(err) {
console.log(err);
context.fail(err);
};
else {
console.log("===EMAIL SENT===");
console.log("EMAIL CODE END");
console.log('EMAIL: ', email);
console.log(data);
context.succeed(event);
}
});};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15811 次 |
| 最近记录: |