开发网站的时候经常会遇到发送验证邮件的问题,今天介绍一种node平台上功能强大的module——nodemailer
官方网址:http://nodemailer.com/nodemailer-0-7-deprecated/
nodemailer目前有三个版本,分别是0.7.X,1.X和2.X
三个版本中最大的区别在于创建连接池,其中2.X变化别叫大,支持第三方发送邮件动态的accessKeyId
如果我们使用自己的邮箱的话,0.7.x版本就足够,本次的demo就是使用的该版本,如果有更多的需求请查看官方网站
安装: npm install [email protected] --save
安装好之后,我们就来看看如何发送邮件,在发送邮件之前一定要保证邮箱已经开通了SMTP服务。
开启方式: 设置=》账户=》开启(按照说明开启即可),这时候会得到一个密码,当你使用SMTP服务就需要使用该密码进行登录。
1 var nodemailer = require("nodemailer"); 2 3 // 1. 开启一个smtp连接 4 var smtpTransporter = nodemailer.createTransport("SMTP",{ 5 host: "smtp.qq.com", // 主机 6 secureConnection: true, // 使用 SSL加密 7 port: 465, // SMTP 端口 8 auth: { 9 user: "[email protected]", // 账号 10 pass: "pass" // 密码 11 } 12 }); 13 14 //要发送内容 15 var mailoptions = { 16 from: "[email protected]", 17 to: "[email protected]", 18 subject: "i love u", //标题 19 html: "<h1>hello dear</h1>" //邮件内容 20 }; 21 22 // 2. 发送邮件 23 smtpTransporter.sendMail(mailoptions,function(err,info){ 24 if(err){ 25 console.log(err); 26 }else{ 27 console.log(info.response); 28 } 29 //如果不在发送可以直接关闭,如果还需要发送其他邮件,那么就不要关闭连接池,直接发送 30 smtpTransporter.close(); 31 });
如果得到501错误,可能是未将该用户设置该服务。开启后的服务如下图。
在配置邮件内容的时候,收件人可以是多个,中间用逗号隔开,当收件人是一个数组的时候,我们使用 Array.toString()即可解析为逗号分隔。
时间: 2024-10-02 00:10:00