NodeJS - Nodemailer在发送消息时无法响应.json

时间:2015-08-18 02:10:42

标签: javascript json node.js response nodemailer

我正在尝试使用NodeJS中的nodemailer来创建工作联系表单。整个设置实际上正在运行。只是我无法将响应发送回客户端。我在这里错过了什么?

以下是我的代码:

JS

app.post('/contact', function(request,response){
    var mailOptions = {
        from: request.body.email, 
        to: user,
        subject: request.body.names, 
        generateTextFromHTML: true,
        html: request.body.message 
    }
    smtpTransport.sendMail(mailOptions, function(error, response){
        if(error){
            console.log(error);
        }else{
            console.log("Message sent: " + response.message);
            response.json(response.message);
        }
        smtpTransport.close();
    });
});

错误:

TypeError: undefined is not a function at MailerComposer.returnCallback,

指向行代码response.json(response.message);

消息发送结果:250 2.0.0 OK 1438964613 e4sm153473pdd.45 - gsmtp

1 个答案:

答案 0 :(得分:1)

找到我的问题的答案。从我的代码中,变量响应以错误的顺序被调用。通过更改smtpTransport函数内的变量来解决它。

答案:

smtpTransport.sendMail(mailOptions, function(error, res){
    if(error){
        console.log(error);
    }else{
        console.log("Message sent: " + res.message);
        response.json(res.message);
    }
    smtpTransport.close();
});