• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
向蓝天招手
博客园    首页    新随笔    联系   管理    订阅  订阅

使用nodemailer发送邮件

开发网站的时候经常会遇到发送验证邮件的问题,今天介绍一种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 nodemailer@0.7.1 --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: "user@qq.com", // 账号
10         pass: "pass" // 密码
11     }
12 });
13 
14 //要发送内容
15 var mailoptions = {
16     from: "sender@qq.com",
17     to: "receive@qq.com",
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.prototype.toString()即可解析为逗号分隔。

 

posted @ 2016-06-04 23:15  向蓝天招手  阅读(721)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3