NodeJS - 发送消息时 Nodemailer 无法 response.json

NodeJS - Nodemailer not able to response.json when message sent

我正在尝试在 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

找到了我的问题的答案。在我的代码中,变量 response 的调用顺序错误。通过更改 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();
});