我正在制作密码恢复系统,在这个系统中,当电子邮件与用户输入的电子邮件匹配时,我会从数据库中获取密码。 我想在邮件中发送密码,但我收到一个错误[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);
你的主体应该是一个字符串或者你可以发送html文件,因为邮件只是文本,你可以做的一件事就是循环遍历数组,从数组的元素中做一个字符串。
设text='';
array.forEach(ele=>{
text=text+ele+' ';
})