代码功能

利用python查询数据库,发送报警邮件的案例

案例演示

import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart
import pymysql
from datetime import timedelta, date,datetime
# from impala.dbapi import connect  #操做hive表需要用的库def mysqlconn():conn = pymysql.connect(host='xxx.xxx.xxx.xxx', user='xx', passwd='xxx', db='xx', port=3306, charset='utf8')return  conn
# def hiveconn():
#     conn = connect(host='10.33.188.136', port=10000, database='ods', auth_mechanism='PLAIN')
#     return  conn
def Query(conn,sqlString,values):cursor=conn.cursor()cursor.execute(sqlString,values)returnData=cursor.fetchall()cursor.close()# conn.close()return returnData
def Dml(conn,sqlString,values):cursor=conn.cursor()cursor.execute(sqlString,values)conn.commit()cursor.close()
def monitor_sql(conn,tb):sd = (date.today() + timedelta(days=-1)).strftime('%Y%m%d')sql = 'select count(*) from '+tbvalues = []rva = Query(conn, sql, values)return list(rva)
def monitor(conn,tb,str):result = monitor_sql(conn,tb)if list(result[0])[0]>0 or result ==None:ssl_mail(str)
def ssl_mail(hs):try:#第三方SMTP服务mail_host = "smtp.qq.com"mail_user = "邮箱地址"mail_pass = "SMTP协议授权码"sender = '邮箱地址'receivers1 = ''.join(mail_user)receivers = receivers1.split(',')message = MIMEMultipart()message['From'] = Header("linan", 'utf-8')message['To'] =  Header(hs, 'utf-8')subject = str(hs)message['Subject'] = Header(subject, 'utf-8')#邮件正文内容message.attach(MIMEText(str(hs), 'plain', 'utf-8'))smtpObj = smtplib.SMTP_SSL(mail_host, 465)smtpObj.login(mail_user, mail_pass)smtpObj.sendmail(sender, receivers,message.as_string())smtpObj.quit()print (datetime.now().strftime('%Y-%m-%d %H:%M:%S') + u":sucess")except Exception as e:print (e)
if __name__ == "__main__":# hiveconn = hiveconn()mysqlconn = mysqlconn()monitor(mysqlconn,'table(表名)','hive data alarm')# monitor(mysqlconn, 'ods_laqslsdj_czsx_info','mysql data alarm')

演示结果

出现下图样式表示成功

python发送邮件代码+注释(带数据库,纯发送邮件看博主其他博客)相关推荐

  1. 仅用Python三行代码,实现数据库和excel之间的导入导出

    目录 一.前言 二.python代码 2.1 从MySQL数据库导入csv 2.2 从csv导入MySQL数据库 三.讲解视频 一.前言 之前我分享过两次python的高效编程技巧,分别是, pyth ...

  2. C语言代码注释必须用/**/ , 你没看错~

    事情是这样的,有人离职,公司调我补缺.那个系统一直有个工程师在维护,参与该系统的新人来了又走,他始终泰然自若.刚过去一个礼拜,我就心下窃吼:"坑爹啊!",也彻底体会到什么叫---绝 ...

  3. python中代码注释使用的符号是_Python语句中用于注释代码的符号是

    Python语句中用于注释代码的符号是 答:#号 发电机-双绕组变压器单元接线,发电机出口不装设断路器的原因是(???) 答:断路器造价高. 会计报表各项目的数据必须建立在()的基础之上 答:真实可靠 ...

  4. 以python入门教程新世界-50⾏python爬⾍代码, 带你正确打开知乎新世界!

    # 利⽤ pip 安装 selenium pip install -U selenium 下载安装完成后,我建议⼤家打开上⾯的链接,阅读⼀下 selenium 的使⽤⽅法.意思⼤致为,为了运⾏ sel ...

  5. html发送邮件代码主题主题乱码,Java发送邮件时标题和发件人乱码

    最近碰到一个问题,Java发送邮件时,本地没有问题,测试服务器也没问题,但上线后邮件的标题和发件人乱码,正文OK 通过翻阅资料,原因及解决方法如下: 原因: 当一段 Text 或者 HTML 通过电子 ...

  6. python软件代码示例-python 示例代码1

    第一章 python基础一 ​在此不再赘述为什么学习python这门编程,网上搜索一箩筐.我在此仅说一句python的好,用了你就会爱上它. 本python示例代码1000+带你由浅入深的了解pyth ...

  7. python数据分析之连接MySQL数据库并进行数据可视化

    大家好,我是带我去滑雪! 本期将熟悉MySQL数据库以及管理和操作MySQL数据库的数据库管理工具Navicat Premium,然后在python中调用MySQL数据库进行数据分析和数据可视化. 目 ...

  8. python代码示例-python 示例代码1

    第一章 python基础一 ​在此不再赘述为什么学习python这门编程,网上搜索一箩筐.我在此仅说一句python的好,用了你就会爱上它. 本python示例代码1000+带你由浅入深的了解pyth ...

  9. 13个代码注释的小贴士

    下面的13条小贴士可以帮助你写出更规范.更容易维护的代码注释. 1.逐层注释 使用统一格式对每一个语句块进行注释,如: 类:简单描述.作者.最后修改时间等 方法:关于该方法的目的.函数.参数.返回值的 ...

最新文章

  1. EasyExcel实现写操作
  2. 网络协议基础:ARP简析
  3. centos8服务器创建新用户并指定该用户只能打开某个目录文件
  4. 《Python自动化》学习笔记:百度云智能实现黑白图片上色,人物动漫化(代码干货)
  5. Java集合,泛型,枚举详解
  6. C语言位操作中的置0和置1
  7. linux分配设备编号
  8. 关于思科无线网络无法连接解决
  9. SQL注入攻击的实现和防止
  10. python学习之钉钉打卡
  11. unity游戏开发之令人上瘾的6大手游设计’潜规则’
  12. 2008年网游发展热点:教育网游产业分析
  13. 无线路由器WEP加密破解--蹭网(转)
  14. 微信小程序如何跳转微信公众号
  15. 如何用excel制作图表?
  16. ASP.NET 2.0 中的主版頁面
  17. 联想微型计算机启动项的键,联想电脑如何设置u盘启动项
  18. 原创 私藏的实用工具/学习网站我贡献出来了
  19. CentOS安装unimrcp-1.7.0
  20. sdl 游戏引擎c语言,kys-cpp: 《金庸群侠传》C++复刻版,这是一个以SDL2为基础实现的2D游戏引擎。同时相当于提供了一个使用该引擎制作DOS游戏《金庸群侠传》移植版的范例。...

热门文章

  1. 报错 File was processed with these loaders:
  2. View体系与自定义View(三)—— View的事件分发机制
  3. 微信群之社群经济的魔力
  4. CentOS 安装 Screen【在线 + 离线】
  5. matlab 约束最小二乘方滤波,约束最小二乘方滤波
  6. python计算并返回 x 的 y 次幂的值
  7. perfect-scrollbar在vue中的使用
  8. android手机传感器坐标系,一种将手机内置传感器采集数据从手机坐标系转换到参考坐标系的处理方法与流程...
  9. RSA加密与解密简单实现
  10. 黑龙江省计算机专业好的学校排名,计算机专业热门院校推荐:黑龙江大学