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 相关文章推荐
JSON 数据格式介绍
Jan 13 Javascript
关于eval 与new Function 到底该选哪个?
Apr 17 Javascript
jquery选择器简述
Aug 31 Javascript
Vue.js每天必学之数据双向绑定
Sep 05 Javascript
jQuery ready()和onload的加载耗时分析
Sep 08 Javascript
JS实现的简易拖放效果示例
Dec 29 Javascript
mongoose更新对象的两种方法示例比较
Dec 19 Javascript
简单的Vue SSR的示例代码
Jan 12 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
May 08 Javascript
弱类型语言javascript中 a,b 的运算实例小结
Aug 07 Javascript
vue实现axios图片上传功能
Aug 20 Javascript
vue在线动态切换主题色方案
Mar 26 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
一个分页的论坛
2006/10/09 PHP
测试您的 PHP 水平的题目
2007/05/30 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
php数组使用规则分析
2015/02/27 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
Vue组件化通讯的实例代码
2017/06/23 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
2017/07/31 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
python实现银行管理系统
2019/10/25 Python
如何基于python实现脚本加密
2019/12/28 Python
python求前n个阶乘的和实例
2020/04/02 Python
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
借条如何写
2015/05/26 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis