搭建简易的物联网服务端和客户端-邮件通知(十九)

实现对于一些指定数据超过预期的时候,会发送邮件报警
代码地址:https://github.com/klren0312/stm32_wifi
2017.4.29

搭建简易的物联网服务端和客户端目录

邮件通知

1.nodejs邮件模块

(1)emailjs模块
send emails, html and attachments (files, streams and strings) from node.js to any smtp server
(2)github网址
https://github.com/eleith/emailjs
(3)安装

npm install emailjs --save

2.邮件发送

定时使用前面说过的node-schedule模块

(1)引入相关模块

var email = require("emailjs");//发送邮件模块
var mysql = require('mysql');//mysql模块
var schedule = require('node-schedule');//定时模块

(2)配置数据库

//数据库配置
var conn = mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'root',
    database:'nodemysql',
    port:3306
})
//连接数据库
conn.connect();

(3)发送邮箱的配置

//配置邮箱
var server = email.server.connect({
    user: "xxx@xxx.com",//邮箱用户名
    password:"xxxxxx",//密码
    host:"smtp服务器的地址",//查看使用的邮箱的smtp服务器地址
    ssl:true
});

(4)定时发送

//每分钟第十秒的时候检测
var rule = new schedule.RecurrenceRule();
rule.second = 10;//定义为每分钟第十秒
var j = schedule.scheduleJob(rule,function(){
    //数据库查询
    conn.query('SELECT * FROM pet',function(err,rows,fields){
        //例如获取温度的值,存入tem
         var tem = rows[rows.length-1].tem;
         //定义邮件内容
         var temmsg = {
             text:"tempreture is " + tem + ",please  be careful",//邮件内容
             from: "15755022403@139.com",//发送方
             to:"605747907@qq.com",//接收方
             subject:"PetHose tem"
         };
         //判断如果温度大于或等于30度,就发送邮件通知
         if(tem>=30){
             //邮件发送
             server.send(temmsg,function(err,message){
                 console.log(err || "ok");
             });
         }
    });
});

3.结果

(1)当温度大于或等于三十度的时候,发送邮件

21194607_P8zK.jpg
接收到的报警邮件

@治电小白菜20170429

转载于:https://my.oschina.net/CIIren/blog/906252

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值