利用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 相关文章推荐
YUI 读码日记之 YAHOO.lang.is*
Mar 22 Javascript
js 操作符实例代码
Oct 24 Javascript
javascript 强制刷新页面的实现代码
Dec 13 Javascript
关于删除时的提示处理(确定删除吗)
Nov 03 Javascript
js控制容器隐藏出现防止样式变化的两种方法
Apr 25 Javascript
JavaScript参数个数可变的函数举例说明
Oct 10 Javascript
使用jQuery实现返回顶部
Jan 26 Javascript
AngularJS入门教程之ng-class 指令用法
Aug 01 Javascript
详解node单线程实现高并发原理与node异步I/O
Sep 21 Javascript
Vue.js 动态为img的src赋值方法
Mar 14 Javascript
JavaScript如何实现元素全排列实例代码
May 14 Javascript
微信小程序实现锚点功能
Nov 20 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
无线电的诞生过程
2021/03/01 无线电
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
php之CodeIgniter学习笔记
2013/06/17 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
js chrome浏览器判断代码
2010/03/28 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
新手快速上手webpack4打包工具的使用详解
2019/01/28 Javascript
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
Python采用Django开发自己的博客系统
2020/09/29 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
Django如何实现上传图片功能
2019/08/16 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
JNI的定义
2012/11/25 面试题
电大毕业生自我鉴定
2014/04/10 职场文书
幸福家庭标语
2014/06/27 职场文书
部队个人年终总结
2015/03/02 职场文书
2016年母亲节广告语
2016/01/28 职场文书
找规律教学反思
2016/02/23 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
MySQL系列之十二 备份与恢复
2021/07/02 MySQL