我们要在nodejs下面实现找回密码的功能,需要通过邮件发送email,里面包含验证码。这里需要一个邮件发送的功能,我们搜索检查了一下,nodemailer这个模块最好用,这是Nodejs 里面用的最多的发送邮件插件。功能丰富,文档齐全。
安装:
npm install --save nodemailer
使用官方给的代码,加以改造:
let transporter = nodemailer.createTransport({ host: "example.com", port: 25, secure: false, // true for 465, false for other ports auth: { user: "myuser", // generated ethereal user pass: "mypass", // generated ethereal password }, }); // send mail with defined transport object let info = await transporter.sendMail({ from: '"Info" <info@example.com>', // sender address to: "55381111@qq.com", // list of receivers subject: "Node mailer test", // Subject line text: "Hello world? Node mailer ", // plain text body html: "<b>Hello world? Node mailer html</b>", // html body });
提示错误信息:
"error":{"code":"ESOCKET","command":"CONN"}
修正,添加如下代码:
tls: { // do not fail on invalid certs rejectUnauthorized: false },
邮件发送成功。
参考链接,https://stackoverflow.com/questions/56147491/what-does-esocket-error-mean-when-im-trying-to-send-an-email