在node上使用第三方类库(nodemailer)发邮件是一件很esay的事情:)
app.js 以QQ邮箱为例
var nodemailer = require('nodemailer'); var transporter = nodemailer.createTransport({ host: 'smtp.qq.com', secureConnection: true, // use SSL port: 465, secure: true, // secure:true for port 465, secure:false for port 587 auth: { user: 'xuebing365@qq.com', pass: 'xxx' // QQ邮箱需要使用授权码 } }); var mailOptions = { from: 'xuebing365@qq.com', // sender address to: '949096562@qq.com', // list of receivers subject: 'test', // Subject line text: '123', // plaintext body html: '<b>789</b>' // html body 当html不为空时 text内容会被覆盖 }; transporter.sendMail(mailOptions, function(error, info) { if (error) { console.log(error); } else { console.log('Message sent: ' + info.response); } });
只需要安装依赖nodemailer即可
注:使用QQ邮箱时,需要使用QQ邮箱授权码,163邮箱直接用邮箱的密码
授权码获取方式:进入QQ邮箱,设置-账户-开启服务 POP3/SMTP 服务,并生成授权码
nodemailer支持很多种邮箱服务器,当然还支持发附件,详见官方Demo