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();
});
我正在尝试在 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();
});