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 (用setTimeout而非setInterval)
Dec 28 Javascript
formvalidator验证插件中有关ajax验证问题
Jan 04 Javascript
jquery实现效果比较好的table选中行颜色
Mar 25 Javascript
JS判断客服QQ号在线还是离线状态的方法
Jan 13 Javascript
js实现根据身份证号自动生成出生日期
Dec 15 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
Sep 17 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
Nov 25 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 jQuery
layui选项卡效果实现代码
May 19 Javascript
详解react-webpack2-热模块替换[HMR]
Aug 03 Javascript
ES6模板字符串和标签模板的应用实例分析
Jun 25 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 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
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
自己编写的类似JS的trim方法
2013/10/09 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
Webpack的dll功能使用
2018/06/28 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
2020/01/02 Javascript
vue实现购物车的小练习
2020/12/21 Vue.js
python随机数分布random测试
2018/08/27 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
Python函数式编程实例详解
2020/01/17 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
css3动画事件—webkitAnimationEnd与计时器time事件
2013/01/31 HTML / CSS
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
意大利团购网站:Groupon意大利
2016/10/11 全球购物
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
个人公开承诺书
2014/03/28 职场文书
高校优秀辅导员事迹材料
2014/05/07 职场文书
2014年纪检工作总结
2014/11/12 职场文书
节水倡议书
2015/01/19 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书