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 盒模型 尺寸深入理解
Dec 31 Javascript
通过JavaScript使Div居中并随网页大小改变而改变
Jun 24 Javascript
javascript full screen 全屏显示页面元素的方法
Sep 27 Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 Javascript
jquery实现简单的自动播放幻灯片效果
Jun 13 Javascript
基于jquery实现三级下拉菜单
May 10 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
Sep 28 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
Oct 10 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
Mar 04 Javascript
Vue render深入开发讲解
Apr 13 Javascript
从零开始用electron手撸一个截屏工具的示例代码
Oct 10 Javascript
vue 解决遍历对象显示的顺序不对问题
Nov 07 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
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
Prototype使用指南之form.js
2007/01/10 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
jQuery获取父元素及父节点的方法小结
2016/04/14 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
初学vue出现空格警告的原因及其解决方案
2019/10/31 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
Python找出最小的K个数实例代码
2018/01/04 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
python3 下载网络图片代码实例
2019/08/27 Python
softmax及python实现过程解析
2019/09/30 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
2020/03/23 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
院药学专业个人求职信
2013/09/21 职场文书
大学生自荐信
2013/12/11 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
给校长的建议书300字
2014/05/16 职场文书
单位委托书怎么写
2014/09/21 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
2014年远程教育工作总结
2014/12/09 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
前台岗位职责范本
2015/04/16 职场文书
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js