NodeMailer没有收件人定义

当尝试使用nodemailernode.js服务器发送电子邮件时,出现以下错误:

ERROR: Send Error: No recipients defined 

我的代码如下:

客户端:

 var mailData = { from: "myemail@gmail.com", to: "someoneelse@something.com", subject: "test", text: "test email" }; $.ajax({ type: 'POST', data: mailData, contentType: 'application/json', url: 'http://localhost:8080/sendEmail', success: function(mailData) { console.log('successfully posted to server.'); } }); 

服务器端:

 var nodemailer = require('nodemailer'); app.post('/sendEmail', function(mailData) { var transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'myemail@gmail.com', pass: 'mypassword' }, }); transporter.sendMail(mailData, function(error, info) { if (error) { console.log(error); return; } console.log('Message sent'); transporter.close(); }); }); 

这与nodemailer文档一致,并且SMTP握手总是成功完成,所以我知道这不是传输器对象的问题。

       

网上收集的解决方案 "NodeMailer没有收件人定义"

这种错误发生在赋给sendMail方法的对象中的sendMail为空时。 正如我们所看到的,这意味着发生了错误,并且在服务器端不能获得与客户端发送的数据相同的数据。

此外,我build议检查您是否正在访问您的服务器端操作的好variables。 大概POST参数可以用不同的方式访问 – 请在你的框架文档中查看。

例如在HapiJS中,我以这种方式检索POST参数:

 exports.someAction = function (request, reply) { var postParams = request.payload }