利用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的闭包
Dec 31 Javascript
JavaScript 学习笔记(四)
Dec 31 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
May 23 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
Dec 27 Javascript
js设置function参数默认值(适合没有传参情况)
Feb 24 Javascript
jQuery实现的一个自定义Placeholder属性插件
Aug 11 Javascript
详解Angular2中的编程对象Observable
Sep 17 Javascript
创建一般js对象的几种方式
Jan 19 Javascript
JavaScript程序设计高级算法之动态规划实例分析
Nov 24 Javascript
使用百度地图实现地图网格的示例
Feb 06 Javascript
Ant Design moment对象和字符串之间的相互转化教程
Oct 27 Javascript
vue使用exif获取图片经纬度的示例代码
Dec 11 Vue.js
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数据流应用的简单例子
2012/06/01 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
js 解决“options为空或不是对象”
2008/12/22 Javascript
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
全面解析Bootstrap排版使用方法(标题)
2015/11/30 Javascript
三种Node.js写文件的方式
2016/03/08 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
vue使用exif获取图片经纬度的示例代码
2020/12/11 Vue.js
Python序列循环移位的3种方法推荐
2018/04/09 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
flask框架路由常用定义方式总结
2019/07/23 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
以下的初始化有什么区别
2013/12/16 面试题
学生干部学习的自我评价
2014/02/18 职场文书
四年级学生评语大全
2014/04/21 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
Java基础-封装和继承
2021/07/02 Java/Android
Python万能模板案例之matplotlib绘制直方图的基本配置
2022/04/13 Python
MySQL视图概念以及相关应用
2022/04/19 MySQL
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android