Как отправить результат запроса по электронной почте с помощью nodemailer в node.js - PullRequest
0 голосов
/ 10 июля 2020

Я делаю систему восстановления пароля, в которой я получаю пароль из базы данных, когда адрес электронной почты совпадает с адресом электронной почты, введенным пользователем. Я хочу отправить пароль по почте, но получаю сообщение об ошибке [ERR_INVALID_ARG_TYPE].

Я получаю результат из базы данных, но почта не отправляется из-за этой ошибки arg.

Как я можете отправить этот пароль по почте и как исправить эту ошибку?

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 Ответ

1 голос
/ 10 июля 2020

Ваше тело должно быть строкой, или вы можете отправить html файл, потому что письма - это просто текст. Вы можете сделать 1 oop через массив и создать строку из элементов массива.

пусть текст = '';

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