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 相关文章推荐
一个选择最快的服务器转向代码
Apr 27 Javascript
一些实用的jQuery代码片段收集
Jul 12 Javascript
JavaScript判断一个URL链接是否有效的实现方法
Oct 08 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
Mar 01 Javascript
AngularJS 最常用的功能汇总
Feb 17 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
Oct 26 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
Dec 28 Javascript
Vue 实现列表动态添加和删除的两种方法小结
Sep 07 Javascript
函数式编程入门实践(一)
Apr 20 Javascript
支付宝小程序实现省市区三级联动
Jun 21 Javascript
js回到页面指定位置的三种方式
Dec 17 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数据缓存技术
2007/02/14 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
2014/06/19 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
基于PHP实现邮箱验证激活过程详解
2020/10/28 PHP
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
2019/04/25 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
基于wxpython实现的windows GUI程序实例
2015/05/30 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
Python判断两个对象相等的原理
2017/12/12 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
html Table 表头固定的实现
2019/01/22 HTML / CSS
canvas如何实现多张图片编辑的图片编辑器
2020/03/10 HTML / CSS
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
XML文档面试题
2015/08/05 面试题
生产车间实习自我鉴定
2013/09/23 职场文书
廉洁校园实施方案
2014/05/25 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书