NodeMailer没有收件人定义
当尝试使用nodemailer从node.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握手总是成功完成,所以我知道这不是传输器对象的问题。
这种错误发生在赋给sendMail
方法的对象中的sendMail
为空时。 正如我们所看到的,这意味着发生了错误,并且在服务器端不能获得与客户端发送的数据相同的数据。
此外,我build议检查您是否正在访问您的服务器端操作的好variables。 大概POST参数可以用不同的方式访问 – 请在你的框架文档中查看。
例如在HapiJS中,我以这种方式检索POST参数:
exports.someAction = function (request, reply) { var postParams = request.payload }