从零开始搭建物联网平台(8):邮箱通知服务

关于触发器的通知,最开始有三种打算 微信公众号、 邮箱、 HTTP,最后发现微信公众号平台无法主动向用户推送消息,所以微信公众号暂时不做了,看看有没有其他的解决方案

搭建SMTP服务

发送邮件可以借助第三方平台如163、QQ等等,但是使用个人账户去做都是有最大发送数量限制的,为了稳妥起见还是决定搭建自己的STMP服务来发送邮件。

以ubuntu 14.04为例:借助于postfix搭建SMTP服务

  1. 安装
    apt-get install mailutils

    在设置页面选择Internet site

  2.  配置
    vim  /etc/postfix/main.cf
    
    
    # 修改以下内容
    myhostname = mail.youraddress
    mydomain = youraddress
    myorigin = admin@youraddress
    
    mydestination = $myhostname, localhost.$mydomain, $mydomain

     

  3. 重启服务
    service postfix restart
  4. 测试
    echo “This is the body of the email” | mail -s “This is the subject line” your_email_address
    
    

    检查是否能够收到邮件,如果没有请检查服务器25端口是否开放,(腾讯云的默认是关闭的需要去申请解封)

邮箱服务

python 自带两个模块可以实现发送邮件的功能,email和 smtplib,email负责构造邮件内容,smtplib用来发送邮件
下面是最简单的一个发送示例

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def send(receiver,payload):
    sender = 'admin@iotforfml.cn'
    # 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
    message = MIMEText(payload, 'plain', 'utf-8')
    # 邮件标题
    subject = '触发器报警通知'
    message['Subject'] = Header(subject, 'utf-8')
    try:
        smtp_obj = smtplib.SMTP('localhost')
        smtp_obj.sendmail(sender, receiver, message.as_string())
    except smtplib.SMTPException:
        pass

send('1193589986@qq.com','aaaa')

结果:

何时发送,怎么判断是否需要发送报警邮件,这个问题会放到持久化服务里面去判断,接受消息后就应该判断是否触发,具体的实现我想放到后面整合的时候在说,这里只是简单的实现一个发送邮件的接口

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Python物联网是指使用Python编程语言来开发和实现物联网应用和设备的技术和方法。Python作为一种简洁、易学、功能强大的编程语言,被广泛应用于物联网领域。Python可以用于开发物联网终端设备、网关设备以及Web后台程序,并且具有以下特点和优势: 1. 简单易学:Python语法简洁明了,易于理解和学习,适用于初学者和有经验的开发人员。 2. 强大的库和框架支持:Python拥有丰富的第三方库和框架,如microPython,可以快速构建物联网解决方案。 3. 高效开发:Python具有简洁的语法和丰富的开发工具,可以提高开发效率,快速迭代和部署物联网应用。 4. 跨平台兼容性:Python可以在多个平台上运行,包括嵌入式系统和主流操作系统,适用于不同的物联网设备和环境。 5. 大数据处理和分析能力:Python拥有强大的数据处理和分析库,如NumPy、Pandas和Matplotlib,可用于物联网数据的收集、存储和分析。 通过使用Python开发物联网终端设备和应用,可以快速构建简单且功能强大的物联网解决方案。此外,Python社区也非常活跃,可以通过参与技术交流群等方式与其他开发者共同学习和解决问题。 在物联网中,MicroPython也是一种非常受欢迎的开发工具和平台。MicroPython是一种基于Python的精简版,专门用于嵌入式系统和物联网设备的开发。通过使用MicroPython,可以方便地开发物联网终端设备的程序,并且可以实现各种功能,如液晶屏的显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值