提问者:小点点

如何使用Node.js中的nodemailer将查询结果发送到电子邮件中


我正在制作密码恢复系统,在这个系统中,当电子邮件与用户输入的电子邮件匹配时,我会从数据库中获取密码。 我想在邮件中发送密码,但我收到一个错误[ERR_INVALID_ARG_TYPE]。

我正在从数据库获得结果,但由于参数错误,邮件没有发送。

如何在邮件中发送密码以及如何更正该错误?

app.post('/mail', (request, response) => {
  var e = request.body.e;
  console.log(e);
    var password = request.body.pwd;

    
    var sql = ` SELECT Employer_Password 
        FROM fyp_employers 
        WHERE Email_Address = ?`;
   var pass= connection.query(sql, [e], function (error, results, fields) {
      if(error){
        console.log(error);
      }
      else{

var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'xyz@gmail.com',
    pass: 'un3560'
  }
});

var mailOptions = {
  from: 'palwashanaz1@gmail.com',
  to: request.body.e ,
  subject: 'Okay' ,
  text: results,
};
}

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});
});

})
app.listen(3000);


共1个答案

匿名用户

你的主体应该是一个字符串或者你可以发送html文件,因为邮件只是文本,你可以做的一件事就是循环遍历数组,从数组的元素中做一个字符串。

设text='';

array.forEach(ele=>{
  text=text+ele+' ';
})