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 相关文章推荐
用JavaScript计算在UTF-8下存储字符串占用字节数
Aug 08 Javascript
深入理解JS DOM事件机制
Aug 06 Javascript
Javascript生成带参数的二维码示例
Oct 10 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
Oct 10 Javascript
protractor的安装与基本使用教程
Jul 07 Javascript
thinkjs 文件上传功能实例代码
Nov 08 Javascript
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
May 14 Javascript
VUE脚手架具体使用方法
May 20 Javascript
JavaScript数组去重实现方法小结
Jan 17 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
Aug 31 Javascript
Vue项目打包编译优化方案
Sep 16 Javascript
原生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 array_merge函数
2014/08/31 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
解读Python编程中的命名空间与作用域
2015/10/16 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
解决Django连接db遇到的问题
2019/08/29 Python
python numpy存取文件的方式
2020/04/01 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
QML实现钟表效果
2020/06/02 Python
盛大二次面试题
2016/11/18 面试题
JAVA中运算符的分类及举例
2015/09/12 面试题
实习自荐信
2013/10/13 职场文书
科研课题实施方案
2014/03/18 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
荷叶母亲教学反思
2014/04/30 职场文书
授权委托书格式范文
2014/08/02 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
聊聊Python String型列表求最值的问题
2022/01/18 Python
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL
Java 数组的使用
2022/05/11 Java/Android