node实现定时发送邮件的示例代码


Posted in Javascript onAugust 26, 2017

本文介绍了node实现定时发送邮件的示例代码,分享给大家,具体如下:

定时发送,可做提醒使用

nodemailer

nodemailer 是一款简单易用的基于于SMTP协议(或 Amazon SES)的邮件发送组件

cron

cron可以指定每隔一段时间执行指定的程序、也可以指定每天的某个时刻执行某个程序、还可以按照星期、月份来指定。

npm install nodemailer -S
npm install nodemailer-smtp-transport -S
npm install cron -S

代码中有详细的注释(同时希望大家在平时写代码的时候养成写注释的习惯)

let nodemailer = require('nodemailer'),
  smtpTransport = require('nodemailer-smtp-transport'),
  cronJob = require('cron').CronJob;

// SMTP 连接
let transport = nodemailer.createTransport(smtpTransport({
 // 主机
 host: 'smtp.163.com',
 // 是否使用 SSL
 secure: false,
 secureConnection: false,
 // 网易的SMTP端口
 port: 25, 
 auth: {
  // 账号
  user: '***@163.com', 
  // 授权码(自行百度邮箱SMTP的授权码设置),此处非密码
  pass: '***', 
 }
}));
// 设置邮件内容
let mailOptions = {
 // 发件人地址,例如 1234<1234@163.com>
 from: '***<***@163.com>', 
 // 收件人地址,可以使用逗号隔开添加多个
 // '***@qq.com, ***@163.com'
 to: '***@qq.com', 
 // 标题
 subject: 'Hello World', 
 // 邮件内容可以自定义样式
 html: '<strong style="color: red">测试"邮件轰炸机"</strong>'
}
// 定时发送邮件
// 每秒执行一次
// 具体的各项设置查看上方的链接
new cronJob('* * * * * *', () => {
 transport.sendMail(mailOptions, (error, response) => {
  if (error) {
   console.error(error)
  } else {
   console.log('Message Send Ok')
  }
  // 记得关闭连接
  transport.close();
 })
}, null, true, 'Asia/Shanghai');

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript模板入门介绍
Sep 26 Javascript
JS 退出系统并跳转到登录界面的实现代码
Jun 29 Javascript
javascript:文字不间断向左移动的实例代码
Aug 08 Javascript
angularjs实现与服务器交互分享
Jun 24 Javascript
JavaScript设计模式之装饰者模式介绍
Dec 28 Javascript
javascript比较两个日期相差天数的方法
Jul 23 Javascript
实用jquery操作表单元素的简单代码
Jul 04 Javascript
JavaScript创建对象的七种方式(推荐)
Jun 26 Javascript
vue修改vue项目运行端口号的方法
Aug 04 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
Aug 26 Javascript
原生js实现五子棋游戏
May 28 Javascript
JavaScript TAB栏切换效果的示例
Nov 05 Javascript
详解webpack3如何正确引用并使用jQuery库
Aug 26 #jQuery
get  post jsonp三种数据交互形式实例详解
Aug 25 #Javascript
详解vue 模拟后台数据(加载本地json文件)调试
Aug 25 #Javascript
浅谈JS获取元素的N种方法及其动静态讨论
Aug 25 #Javascript
AngularJS select设置默认值的实现方法
Aug 25 #Javascript
AngularJS 中ui-view传参的实例详解
Aug 25 #Javascript
node跨域请求方法小结
Aug 25 #Javascript
You might like
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
CodeIgniter配置之database.php用法实例分析
2016/01/20 PHP
Javascript 继承机制实例
2009/08/12 Javascript
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
浅谈JavaScript 声明提升
2020/09/14 Javascript
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
PyQt5实现下载进度条效果
2018/04/19 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
python kafka 多线程消费者&amp;手动提交实例
2019/12/21 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
Python气泡提示与标签的实现
2020/04/01 Python
Python如何使用input函数获取输入
2020/08/06 Python
请假条范文大全
2014/04/10 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
会议新闻稿
2015/07/17 职场文书