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 相关文章推荐
js querySelector和getElementById通过id获取元素的区别
Apr 20 Javascript
javascript实现日历控件(年月日关闭按钮)
Dec 12 Javascript
js截取固定长度的中英文字符的简单实例
Nov 22 Javascript
js动态创建标签示例代码
Jun 09 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
Mar 31 Javascript
javascript文件加载管理简单实现方法
Jul 25 Javascript
jfinal与bootstrap的登出实战详解
Nov 27 Javascript
js正则表达式校验指定字符串的方法
Jul 23 Javascript
Vue.js递归组件实现组织架构树和选人功能
Jul 04 Javascript
JS实现transform实现扇子效果
Jan 17 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
Sep 10 Javascript
Three.js实现雪糕地球的使用示例详解
Jul 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
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
第四节--构造函数和析构函数
2006/11/16 PHP
MySQL修改密码方法总结
2008/03/25 PHP
PHP 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
php中在PDO中使用事务(Transaction)
2011/05/14 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
PHP中预定义的6种接口介绍
2015/05/12 PHP
PHP实现适用于自定义的验证码类
2016/06/15 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
Node.js抓取中文网页乱码问题和解决方法
2015/02/10 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
React中的render何时执行过程
2018/04/13 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
Python 时间处理datetime实例
2008/09/06 Python
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
Python常用模块介绍
2014/11/21 Python
详解python如何调用C/C++底层库与互相传值
2016/08/10 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
对标管理实施方案
2014/03/12 职场文书
规划编制实施方案
2014/03/15 职场文书
银行求职自荐信范文
2015/03/04 职场文书
大学入学感言
2015/08/01 职场文书
MySQL 慢查询日志深入理解
2021/04/22 MySQL
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB