2017-10-04 61 views
0

我在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); 
    } 
    }); 

回答

0

它在本地工作吗?我会以此开始。您的方法可能不起作用,因为https://www.google.com/settings/security/lesssecureapps功能已禁用。

假设你使用HTTP集成,如果你看不到日志,我会创建一个数组而不是调用console.log,我会将每个日志附加到该数组。在函数结束时,我会简单地回应含有该日志的200。您也可以考虑使用https://aws.amazon.com/ses/。这是一个基于云的电子邮件发送服务。它适用于AWS Lambda。为了得到它的工作,你需要添加ses:SendEmail权限,并通过验证过程。

+0

感谢您的快速响应。在潜入亚马逊SES之前,它是否允许我通过方法调用从Lambda函数发送电子邮件? –

+1

是的,这里是一个例子:https://github.com/netguru/aws-iam-manager/blob/master/src/ses.js#L118。它也在AWS Lambda环境中。 –

+0

另外,请记住,使用AWS SES可能会产生额外费用。 https://aws.amazon.com/ses/pricing/ –

相关问题