Node使用Nodemailer发送邮件的方法实现


Posted in Javascript onFebruary 24, 2020

电子邮件是—种用电子手段提供信息交换的通信方式,是互联网应用最广的服务。通过网络的电子邮件系统,用户可以以非常低廉的价格(不管发送到哪里,都只需负担网费)、非常快速的方式(几秒钟之内可以发送到世界上任何指定的目的地),与世界上任何一个角落的网络用户联系。

在很多项目中,我们都会遇到邮件注册,邮件反馈等需求。在node中收发电子邮件也非常简单,因为强大的社区有各种各样的包可以供我么直接使用。Nodemailer包就可以帮助我们快速实现发送邮件的功能。

开始

这里使用的是qq邮箱,因为qq邮箱的权限比较好设置一些。

安装模块

cnpm i nodemailer -S

创建-个SMTP客户端配置

//引入模块 nodemailer
 const nodemailer = require('nodemailer')

 // 创建一个SMTP客户端配置
 const config = {
  service: "QQ",
  auth: {
   // 发件人邮箱账号
   user: 'xxxxxx@qq.com',
   //发件人邮箱的授权码 这里可以通过qq邮箱获取 并且不唯一
   pass: 'xxxxxxxxxxx'
  }
 }

创建一个SMTP客户端配置对象

const transporter = nodemailer.createTransport(config)

创建一个收件人对象

// 验证码随机数 
 let code = Math.random().toString().substr(2, 4)
 const mail = {
  // 发件人 邮箱 '昵称<发件人邮箱>'
  from: `"web"<xxxx@qq.com>`,
  // 主题
  subject: '激活验证码',
  // 收件人 的邮箱 可以是其他邮箱 不一定是qq邮箱
  to: '',
  //这里可以添加html标签
  html: `<b>您的激活验证码为:$[code], 请24小时内有效,请谨慎保管。</b>`
 }

发送邮件 调用transporter.sendMail(mail, callback)

transporter.sendMail(mail, function(error, info) {
   if (error) {
    return console.log(error);
   }
   transporter.close()
   console.log('mail sent:', info.response)
  })

qq权限的设置

Node使用Nodemailer发送邮件的方法实现 

最后就可以愉快的可以发送邮件啦

Node使用Nodemailer发送邮件的方法实现 

完整代码演示

//引入模块 nodemailer
 const nodemailer = require('nodemailer')

 // 验证码随机书
 let code = Math.random().toString().substr(2, 4)

 // 创建一个SMTP客户端配置
 const config = {
  service: "QQ",
  auth: {
   // 发件人邮箱账号
   user: 'xxxxxxxxx@qq.com',
   //发件人邮箱的授权码 这里可以通过qq邮箱获取 并且不唯一
   pass: 'xxxxxxxxxxxxxxxxxxxxxx' //授权码生成之后,要等一会才能使用,否则验证的时候会报错,但是不要慌张哦
  }
 }


 //创建一个SMTP客户端配置对象
 const transporter = nodemailer.createTransport(config)

 //创建一个收件人对象
 const mail = {
  // 发件人 邮箱 '昵称<发件人邮箱>'
  from: `"web"<xxxxxxxxxx@qq.com>`,
  // 主题
  subject: '激活验证码',
  // 收件人 的邮箱 可以是其他邮箱 不一定是qq邮箱
  to: 'xxxxxxx@163.com',
  //这里可以添加html标签
  html: `<b>您的激活验证码为:$[code], 请24小时内有效,请谨慎保管。</b>`
 }

 // 发送邮件 调用transporter.sendMail(mail, callback)
 transporter.sendMail(mail, function(error, info) {
   if (error) {
    return console.log(error);
   }
   transporter.close()
   console.log('mail sent:', info.response)
  })

到此这篇关于Node使用Nodemailer发送邮件的方法实现的文章就介绍到这了,更多相关Nodemailer发送邮件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
ExtJs设置GridPanel表格文本垂直居中示例
Jul 15 Javascript
jquery实现网页的页面平滑滚动效果代码
Nov 02 Javascript
onclick和onblur冲突问题的快速解决方法
Apr 28 Javascript
原生js实现倒计时功能(多种格式调用)
Jan 12 Javascript
JS日程管理插件FullCalendar中文说明文档
Feb 06 Javascript
Bootstrap 3 进度条的实现
Feb 22 Javascript
JS实现调用本地摄像头功能示例
May 18 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
Aug 07 Javascript
微信小程序-可移动菜单的实现过程详解
Jun 24 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
Nov 16 Javascript
ant design的table组件实现全选功能以及自定义分页
Nov 17 Javascript
Vue仿百度搜索功能
Dec 28 Vue.js
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
Feb 24 #Javascript
Vue 技巧之控制父类的 slot
Feb 24 #Javascript
原生javascript的ajax请求及后台PHP响应操作示例
Feb 24 #Javascript
在 Vue 中编写 SVG 图标组件的方法
Feb 24 #Javascript
原生javascript中this几种常见用法总结
Feb 24 #Javascript
js实现坦克大战游戏
Feb 24 #Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 #Javascript
You might like
php初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
vue cli 全面解析
2018/02/28 Javascript
vue debug 二种方法
2018/09/16 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
在react-antd中弹出层form内容传递给父组件的操作
2020/10/24 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
python中json格式数据输出的简单实现方法
2016/10/31 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
python梯度下降算法的实现
2020/02/24 Python
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
医药营销个人求职信范文
2014/02/07 职场文书
军训考核自我鉴定
2014/02/13 职场文书
《动手做做看》教学反思
2014/04/09 职场文书
艾滋病宣传标语
2014/06/25 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
个人债务授权委托书
2014/10/17 职场文书
超市采购员岗位职责
2015/04/07 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
房产证明范本
2015/06/19 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技