node发送邮件非常简单,这里只做qq的演示,你可以举一反三.
使用nodemailer包
let transporter = nodemailer.createTransport({ // 使用qq发送邮件 // 更多请查看支持列表:https://nodemailer.com/smtp/well-known/ service: 'qq', port: 465, // SMTP 端口 secureConnection: true, // 使用了 SSL auth: { user: '751734566@qq.com', // 这里密码不是qq密码,是你设置的smtp授权码 // 获取qq授权码请看:https://jingyan.baidu.com/article/6079ad0eb14aaa28fe86db5a.html pass: 'xxxxxxxx', }});
接下来我们设置我们到发送内容
let mailOpt= { from: '"test"', // 你到qq邮箱地址 to: 'xxxx@qq.com', // 接受人,可以群发填写多个逗号分隔 subject: 'Hello', // 主题名(邮件名) // 可以发送text或者html格式,2选1 // text: 'Hello world?', // 纯文本 html: ' Hello world?' // html};
如果我们想发一个稍微漂亮到邮件怎么办?
我们可以使用html模板来实现const template = require('art-template');let html = template(__dirname + '/mail_temp.html', obj) // mail_temp.html为你想使用到页面模板,obj为你的参数// 例如obj = { name : 'test', phone : '183xxxxxxxx', time : new Date()}新用户:{ {name}}({ {phone}})于{ {time}}进行了注册.
所有准备完成,让我们发送邮件吧!
// 执行发送transporter.sendMail(mailOptions, (error, info) => { if (error) { return console.log(error); } console.log('邮件已发送成功,邮件id: %s', info.messageId);});
文档参考
nodemailer : art-template :