利用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使用prototype定义对象类型(转)[
Dec 22 Javascript
javascript数组去掉重复
May 12 Javascript
Javascript this 关键字 详解
Oct 22 Javascript
详解JavaScript中循环控制语句的用法
Jun 03 Javascript
jQuery使用正则表达式限制文本框只能输入数字
Jun 18 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
Jul 28 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
May 26 Javascript
Js实现京东无延迟菜单效果实例(demo)
Jun 02 Javascript
vue v-model动态生成详解
Jun 30 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
highcharts.js数据绑定方式代码实例
Nov 13 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
Mar 10 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实现小型站点广告管理
2006/10/09 PHP
php SQL之where语句生成器
2009/03/24 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
php判断目录存在的简单方法
2019/09/26 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
使用python分析git log日志示例
2014/02/27 Python
35个Python编程小技巧
2014/04/01 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
点球小游戏python脚本
2018/05/22 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
在pycharm中实现删除bookmark
2020/02/14 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
HTML5在a标签内放置块级元素示例代码
2013/08/23 HTML / CSS
九年级体育教学反思
2014/01/23 职场文书
内勤主管岗位职责
2014/04/03 职场文书
商务邀请函
2015/01/30 职场文书
入党介绍人考察意见
2015/06/01 职场文书
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python