nodemailer使用实例

我在扩展微博网站microblog-alpha版时第一次使用了nodemailer模块。使用非常简单。

// 开启一个 SMTP 连接池
     var smtpTransport = nodemailer.createTransport("SMTP",{
       host: "smtp.qq.com", // 主机
       secureConnection: false, // 使用 SSL
       port: 25, // SMTP 端口
       auth: {
         user: "你的邮箱", // 账号
         pass: "你的密码" // 密码
       }
     });
     console.log(verification);
     // 设置邮件内容
     var mailOptions = {
       from: "鸑鷟的博客网站 <1125605844@qq.com>", // 发件地址
       to: req.body['email'], // 收件列表
       subject: verification, // 标题
       test:verification // 内容
     };
     // 发送邮件

     smtpTransport.sendMail(mailOptions, function(error, response){
       if(error){
         console.log(error);
       }else{
         console.log("Message sent: " + response.message);
       }
       //smtpTransport.close(); // 如果没用,关闭连接池
     });

几乎可以说只要把这段代码略改几个变量,直接粘贴到项目里就可以用了。
使用前别忘了给邮箱开启SMTP服务哦,否则会出现如下报错:

{ [AuthError: Invalid login - 454 Authentication failed, please open smtp flag first!] 
name: 'AuthError',data: '454 Authentication failed, please open smtp flag first!',  stage: 'auth' }

若是QQ邮箱,开启方法:QQ邮箱 -> 设置 -> 帐户 -> 开启服务:POP3/SMTP服务