nodejs使用nodemailer发送邮件
nodejs使用nodemailer实现自动发送邮件
首先安装包:
npm i nodermailer --save-dev
代码如下:
// const path = require('path'); const nodemailer = require('nodemailer'); const os = require('os'); // 发送人信息 const MailInfo = { service: 'qq', user: '1522025433@qq.com', pass: 'xxxx' // 授权码 }; // 接受人信息 const ToInfo = { // 接受者,可以同时发送多个,以逗号隔开 (通知自己) user: '2122008217@qq.com,' + MailInfo.user, // 姚德凯 } // 本机ip let LocatIp = ''; /** * 获取本机IP * @return {String} 返回本机IP */ const getLocalIP = ()=>{ const ifaces = os.networkInterfaces(); let locatIp = ''; for (let dev in ifaces) { if (dev === '本地连接' || dev === '以太网') { for (let j = 0; j < ifaces[dev].length; j++) { if (ifaces[dev][j].family === 'IPv4') { locatIp = ifaces[dev][j].address; break; } } } } return locatIp; } LocatIp = getLocalIP(); console.log(LocatIp) /* // qq const transporter = nodemailer.createTransport({ service: 'qq', auth: { // user: '527828938@qq.com', user: 'zhudongakaiemail@163.com', // pass: 'ugxovfwhvxypxxxx' // 授权码,通过QQ获取 pass: 'xxxxx' // 授权码,通过QQ获取 } }); */ /* // 163 const transporter = nodemailer.createTransport({ // host: 'smtp.163.com', // port: 465, // secure: true, // 如果是 true 则port填写465, 如果 false 则可以填写其它端口号 service: '163', auth: { // user: 'zhudongkaiemail@163.com', // pass: 'xxxxxxxxx' // 授权码,通过163获取 user: MailInfo.user, pass: MailInfo.pass // 授权码,通过163获取 } }); */ // outlook const transporter = nodemailer.createTransport({ service: MailInfo.service, auth: { // user: 'zhudongkaiemail@163.com', // pass: 'xxxxxxxxx' // 授权码,通过163获取 user: MailInfo.user, pass: MailInfo.pass // 授权码,通过163获取 } }); const mailOptions = { // from: '527828938@qq.com', // 发送者 // from: 'zhudongkaiemail@163.com', // 发送者 // to: '1689372692@qq.com', // 接受者,可以同时发送多个,以逗号隔开 from: MailInfo.user, // 发送者 to: ToInfo.user, // 接受者,可以同时发送多个,以逗号隔开 subject: '发包邮件发送', // 标题 //text: 'Hello world', // 文本 /* html: `<h2>nodemailer基本使用:</h2> <h3> <a href="http://blog.csdn.net/zzwwjjdj1/article/details/51878392"> http://blog.csdn.net/zzwwjjdj1/article/details/51878392 </a> </h3>`, */ html: `<h2>辛苦发包,谢谢!</h2> <a href="http://${LocatIp}:5000/build/build.zip">下载正式包</a> <a href="http://${LocatIp}:5000/build.test/build.test.zip">下载测试包</a>`, /* // 附件 attachments:[ // { // filename : 'build.test', // path: path.resolve( __dirname, '../build.test/build.test.zip') // }, // { // filename : 'build', // path: path.resolve( __dirname, '../build/build.zip') // } { filename : 'build', path: path.resolve( __dirname, '../build/build.zip') }, ] */ }; transporter.sendMail(mailOptions, function (err, info) { if (err) { console.log(err); return; } console.log('邮件发送成功'); });
这样就完成了。
如果使用微软邮箱发送有问题请参考下面这篇文章有可能帮到你: