利用Node.JS实现邮件发送功能


Posted in Javascript onOctober 21, 2016

第一步、配置篇

首先需要安装nodemailer库

npm install nodemailer//默认会安装最新的版本。

关于这个库的文档参见nodemailer

第二步、库的一些使用介绍

这个库使用方法很简单的。首先是要创建一个用于发送邮件的实例

var transporter = nodemailer.createTransport(transport[, defaults])

transport参数属性

属性太多了就只写一些关键的属性

     port:连接的端口号,一般就是465

     host:你用于发送邮件的服务器的host,比如163的host是stmp.163.com

     auth:这个就是和老版本不一样的地方了。新版本是用一个字面量存储用户名和密码。注意你的邮箱要开启stmp。

     user:用户名

     pass:密码。如果你的163设置了第三方登录密码的话这里要填你的第三方登录密码、

设置好了这些就可以使用啦~这里贴上我的设置

var smtpConfig = {
 host: 'smtp.163.com',
 port: 465,
 auth: {
  user: 'xxxx',
  pass: 'xxxx'
 }
};
var transporter = nodemailer.createTransport(smtpConfig);

第三步、使用篇

现在我们可以使用以下函数进行发送邮件

transporter.sendMail(data[, callback])

data邮件内容

      from 邮件的发件人

      to 邮件的收件人

      subject 主题

      text 邮件是以文本的方式进行发送

      html 邮件内容是html网页效果

      attachments 附件。详细可以看官方文档

callback回调函数

      接受两个参数 errinfo

err

如果失败了就可以打印这个对象看相关信息

info

可以看很多发送状态的信息

      messageID 会返回信息的messageID值,我也不太懂

      accepted 是一个数组,包括服务器接收的内容的地址

      rejected 意义和上面差不多,就是相反的意思

好了说完了我们就可以发送邮件了

var sendmail = function(html){
 var option = {
  from:"sender",
  to:"accepter",
  subject : '来自node的邮件',
  html : html
 }
 transporter.sendMail(option, function(error, response){
  if(error){
   console.log("fail: " + error);
  }else{
   console.log("success: " + response.messageID);
  }
 });
}

sendmail("邮件内容:<br/>这是来自nodemailer发送的邮件");

总结

以上就是利用Node.JS实现邮件发送功能的全部内容,希望本文的内容对大家学习或者使用Node.js能有所帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
JavaScript的parseInt 进制问题
May 07 Javascript
Javascript学习笔记6 prototype的提出
Jan 11 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
Feb 27 Javascript
js获取系统的根路径实现介绍
Sep 08 Javascript
JS刷新当前页面的几种方法总结
Dec 24 Javascript
javascript异步处理工作机制详解
Apr 13 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
May 28 Javascript
跨域请求的完美解决方法(JSONP, CORS)
Jun 12 Javascript
微信小程序实现带刻度尺滑块功能
Mar 29 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
May 26 Javascript
微信小程序实现日历效果
Dec 28 Javascript
bootstrap中使用google prettify让代码高亮的方法
Oct 21 #Javascript
BootStrap网页中代码显示用法详解
Oct 21 #Javascript
网页瀑布流布局jQuery实现代码
Oct 21 #Javascript
js运动事件函数详解
Oct 21 #Javascript
javascript轮播图算法
Oct 21 #Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
Oct 21 #Javascript
javascript简易画板开发
Apr 12 #Javascript
You might like
PHP配置心得包含MYSQL5乱码解决
2006/11/20 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
JS 文件传参及处理技巧分析
2010/05/13 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python实现批量修改文件名代码
2017/09/10 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
python 利用for循环 保存多个图像或者文件的实例
2018/11/09 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
Pytorch 高效使用GPU的操作
2020/06/27 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
EJB与JAVA BEAN的区别
2016/08/29 面试题
计算机毕业生自荐信范文
2014/03/23 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers