node发送邮件非常简单,这里只做qq的演示,你可以举一反三.
使用nodemailer包
let transporter = nodemailer.createTransport({// 使用qq发送邮件// 更多请查看支持列表:/smtp/well-known/service: 'qq',port: 465, // SMTP 端口secureConnection: true, // 使用了 SSLauth: {user: '751734566@',// 这里密码不是qq密码,是你设置的smtp授权码// 获取qq授权码请看:/article/6079ad0eb14aaa28fe86db5a.htmlpass: 'xxxxxxxx',}});
接下来我们设置我们到发送内容
let mailOpt= {from: '"test" <xxxxxx@>', // 你到qq邮箱地址to: 'xxxx@', // 接受人,可以群发填写多个逗号分隔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 : /package...
art-template : https://aui.github.io/art-tem...