Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用Lambda函数、NodeJS、Mailgun和Postman中的测试参数发送电子邮件_Node.js_Aws Lambda_Postman_Mailgun_Netlify - Fatal编程技术网

Node.js 使用Lambda函数、NodeJS、Mailgun和Postman中的测试参数发送电子邮件

Node.js 使用Lambda函数、NodeJS、Mailgun和Postman中的测试参数发送电子邮件,node.js,aws-lambda,postman,mailgun,netlify,Node.js,Aws Lambda,Postman,Mailgun,Netlify,我正在学习所有这些。目标是使用变量发送电子邮件,以下是我在test.js中的代码: const mailgunSdk=require('mailgun-js'); const apiKey='MAILGUN_API_KEY'; const domain='MAILGUN_domain'; const mailgun=mailgunSdk({ 阿皮基, 领域 }); exports.handler=async(事件、上下文、回调)=>{ //console.log(event.body) //co

我正在学习所有这些。目标是使用变量发送电子邮件,以下是我在test.js中的代码:

const mailgunSdk=require('mailgun-js');
const apiKey='MAILGUN_API_KEY';
const domain='MAILGUN_domain';
const mailgun=mailgunSdk({
阿皮基,
领域
});
exports.handler=async(事件、上下文、回调)=>{
//console.log(event.body)
//const data=JSON.parse(event.body)
让我们回应
试一试{
/*向收件人发送电子邮件*/
response=wait mailgun.messages().send({
来自:“雷金纳德·弗罗明顿”,
致:'bobloblaw@gmail.com',
主题:“你好”,
text:event.messageText
})
}捕获(e){
//console.log('Err',e)
返回{
状态代码:e.statusCode | | 500,
//正文:JSON.parse({
//错误:e.message
//})
}
}
返回{
状态代码:200,
正文:JSON.stringify({
结果:response.message
})
}
}
使用Postman,如果我有
文本:
作为字符串,例如
文本:“谢谢你的电子邮件”
,如果我在没有任何参数的情况下运行函数,我实际上可以在收件箱中收到一条消息。但是,如果我想使用变量,我不知道如何将它们传递到函数中。我尝试了
text:event.messageText
text:response.messageText
text:mailgun.messageText
,以及我可以想象的各种可能的变量组合

我能找到的大多数文档都已经过时,或者没有解决这个问题。我也不知道如何用谷歌搜索这个问题,因为我对这一切都是新手

谢谢, -安德鲁
试图将参数传递到屏幕截图中的Lambda函数

,您正在邮递员标题选项卡中设置变量。我认为您应该使用body选项卡,然后在lambda函数代码中取消注释关于
event.body
的行。如果取消注释
//const data=JSON.parse(event.body)
,我会得到一个
函数调用失败:语法错误:JSON输入意外结束
错误。如果我尝试使用
body.messageText
变量,我会得到一个
函数调用失败:SyntaxError:JSON中位置1处的意外标记o
error。嗯,也许可以检查一下内容类型头是postman headers选项卡中的application/JSON,还是body选项卡中的有效负载是作为JSON发送的。否则,取消对first console.log的注释,可能会在lambda日志中找到线索。
const mailgunSdk = require('mailgun-js');
const apiKey = 'MAILGUN_API_KEY';
const domain = 'MAILGUN_DOMAIN';
const mailgun = mailgunSdk({
    apiKey,
    domain
});

exports.handler = async(event, context, callback) => {

    //console.log(event.body)
    //const data = JSON.parse(event.body)

    let response
    try {
        /* Send email to recicipent */
        response = await mailgun.messages().send({
            from: 'Reginald Fromington <mg@fromaddress.com>',
            to: 'bobloblaw@gmail.com',
            subject: 'Hello',
            text: event.messageText
        })
    } catch (e) {
        //console.log('Err', e)
        return {
            statusCode: e.statusCode || 500,
            //body: JSON.parse({
            //  error: e.message
            //})
        }
    }

    return {
        statusCode: 200,
        body: JSON.stringify({
            result: response.message
        })
    }
}