如何在AWS上使用nodemailer发送电子邮件Lambda
问题描述:
我在AWS Lambda函数中调用以下代码(包含实际的电子邮件地址和密码)。不幸的是,我无法查看日志(我的帐户目前没有权限)。是否有任何特定的权限,我必须设置从一个lambda函数发送电子邮件?还是有另一种/更好的方式发送和电子邮件?如何在AWS上使用nodemailer发送电子邮件Lambda
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '[email protected]',
pass: 'paswword'
}
});
var mailOptions = {
from: '[email protected]',
to: '[email protected]',
subject: 'Sending Email using Node.js',
text: 'That was easy!'
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
答
它在本地工作吗?我会以此开始。您的方法可能不起作用,因为https://www.google.com/settings/security/lesssecureapps功能已禁用。
假设你使用HTTP集成,如果你看不到日志,我会创建一个数组而不是调用console.log
,我会将每个日志附加到该数组。在函数结束时,我会简单地回应含有该日志的200
。您也可以考虑使用https://aws.amazon.com/ses/。这是一个基于云的电子邮件发送服务。它适用于AWS Lambda。为了得到它的工作,你需要添加ses:SendEmail
权限,并通过验证过程。
感谢您的快速响应。在潜入亚马逊SES之前,它是否允许我通过方法调用从Lambda函数发送电子邮件? –
是的,这里是一个例子:https://github.com/netguru/aws-iam-manager/blob/master/src/ses.js#L118。它也在AWS Lambda环境中。 –
另外,请记住,使用AWS SES可能会产生额外费用。 https://aws.amazon.com/ses/pricing/ –