时间:2021-06-09 08:06:48 | 栏目:NodeJS | 点击:次
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" <xxxxxx@qq.com>', // 你到qq邮箱地址 to: 'xxxx@qq.com', // 接受人,可以群发填写多个逗号分隔 subject: 'Hello', // 主题名(邮件名) // 可以发送text或者html格式,2选1 // text: 'Hello world?', // 纯文本 html: '<b>Hello world?</b>' // 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() } <section> 新用户:{{name}}({{phone}})于{{time}}进行了注册. </section> 所有准备完成,让我们发送邮件吧! // 执行发送 transporter.sendMail(mailOptions, (error, info) => { if (error) { return console.log(error); } console.log('邮件已发送成功,邮件id: %s', info.messageId); });
文档参考
nodemailer : https://www.npmjs.com/package/nodemailer
art-template : https://aui.github.io/art-template/zh-cn/docs/