python编程:根据监控结果发送邮件

使用gg后,需要监控,自己写个自动发送邮件,这只是个原型!根据从数据库返回的数据结果是1还是2来判断同步情况,

并及时发送邮件并短信通知以及记录日志!

# -*- coding: gb2312 -*-

import re  

import  pyodbc

import traceback

import decimal

import os, sys

import time

import smtplib

from email.mime.text import MIMEText

from email.header import Header

sender = '1364188****@139.com'

receiver = '1364188****@139.com'

subject = '数据同步监控'

smtpserver = 'smtp.139.com'

username = '1364188****'

password = '************'

########判断同步是否正常

guess = int(input("请输入一个整数:\n"))

if guess == 1:

msg = MIMEText('监控正常!','plain','gb2312')#中文需参数‘gb2312’,单字节字符不需要

msg['Subject'] = Header(subject, 'gb2312')

msg['date']=time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())

smtp = smtplib.SMTP()

smtp.connect('smtp.139.com')

smtp.login(username, password)

smtp.sendmail(sender, receiver, msg.as_string())

logtxt='监控邮件已经在'+msg['date']+'发送成功!'+':同步正常'

smtp.quit()

print (logtxt)

f = open('e:\py\log.txt', 'a')

f.write(logtxt+'\n')

f.close()

print ( '日志:'+logtxt+'记录成功' )

elif guess == 2:

msg = MIMEText('监控异常!','plain','gb2312')#中文需参数‘gb2312’,单字节字符不需要

msg['Subject'] = Header(subject, 'gb2312')

msg['date']=time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())

smtp = smtplib.SMTP()

smtp.connect('smtp.139.com')

smtp.login(username, password)

smtp.sendmail(sender, receiver, msg.as_string())

logtxt='监控邮件已经在'+msg['date']+'发送成功!'+':同步异常'

smtp.quit()

print (logtxt)

f = open('e:\py\log.txt', 'a')

f.write(logtxt+'\n')

f.close()

print ( '日志:'+logtxt+'记录成功' )

else:

print ('**************输入类型不对,请联系ocpyang!**********************')

时间: 2024-10-26 05:27:24

python编程:根据监控结果发送邮件的相关文章

Python编程中用close()方法关闭文件的教程

  这篇文章主要介绍了Python编程中用close()方法关闭文件的教程,是Python编程入门中的基础知识,需要的朋友可以参考下 close()方法方法关闭打开的文件.关闭的文件无法读取或写入更多东西.文件已被关闭之后任何操作会引发ValueError.但是调用close()多次是可以的. Python自动关闭,当一个文件的引用对象被重新分配给另外一个文件.它使用close()方法来关闭一个文件一个很好的做法. 语法 以下是close()方法的语法: ? 1 fileObject.close

Python编程之属性和方法实例详解

  本文实例讲述了Python编程中属性和方法使用技巧.分享给大家供大家参考.具体分析如下: 一.属性 在python中,属性分为公有属性和私有属性,公有属性可以在类的外部调用,私有属性不能在类的外部调用.公有属性可以是任意变量,私有属性是以双下划线开头的变量. 下面我们定义一个People类,它有一个公有属性name,和一个私有属性__age. ? 1 2 3 4 class People(): def __init(self): self.name='张珊' self.__age=24 我们

Python编程之多态用法实例详解

  本文实例讲述了Python编程之多态用法.分享给大家供大家参考.具体分析如下: 什么是多态?顾名思义,多态就是多种表现形态的意思.它是一种机制.一种能力,而非某个关键字.它在类的继承中得以实现,在类的方法调用中得以体现.多态意味着变量并不知道引用的对象是什么,根据引用对象的不同表现不同的行为方式. 我们先看一个简单的例子,运算符多态: ? 1 2 3 4 5 6 a=34 b=57 print(a+b) a="世界" b="你好" print(a+b) 我们不知

必须了解的Python编程误区

对今天下午Python问题,简单总结下. 对自己写的几个for嵌套循环,添加if和else后总是没有结果.归结原因在于,在Python中,for 语句后面对于else也是支持的.当if else.他们都出现的时候,情况是什么样子的呢?举个小例子: for a in range(4): for b in range(4): if b >=2: print 'b=>',b else: print 'a+b=>',a+b if a<=2: print 'a,b=>',a,b els

python通过ssh-powershell监控windows的方法

  本文实例讲述了python通过ssh-powershell监控windows的方法.分享给大家供大家参考.具体分析如下: 对于服务器的监控来说,监控linux不管是自己动手写脚本还是用一些开源的工具比如nagios,zenoss什么的.但毕竟还是有些公司有windows做服务器的,相对linux来说,windows没有方便的shell,cmd下提供的命令对于监控来说远远没有linux方便.但是现在windows上如果安装了powershell(win7,2008自带),就比以前方便多了,li

Python实现给qq邮箱发送邮件的方法

  本文实例讲述了Python实现给qq邮箱发送邮件的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #-*-coding:utf-8-*- #========================================== #

Python基于smtplib实现异步发送邮件服务

  这篇文章主要介绍了Python基于smtplib实现异步发送邮件服务,需要的朋友可以参考下 基于smtplib包制作而成,但在实践中发现一个不知道算不算是smtplib留的一个坑,在网络断开的情况下发送邮件时会抛出一个socket.gaierror的异常,但是smtplib中并没有捕获这个异常,导致程序会因这个异常终止,因此代码中针对这部分的异常进行处理,确保不会异常终止. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Python编程入门的一些基本知识

  这篇文章主要介绍了Python编程入门的一些基本知识,包括注释需和Shell命令使用等基本内容,要的朋友可以参考下 Python与Perl,C和Java语言等有许多相似之处.不过,也有语言之间有一些明确的区别.本章的目的是让你迅速学习Python的语法. 第一个Python程序: 交互模式编程: 调用解释器不经过脚本文件作为参数,显示以下提示: ? 1 2 3 4 5 $ python Python 2.6.4 (#1, Nov 11 2014, 13:34:43) [GCC 4.1.2 2

Python编程中运用闭包时所需要注意的一些地方

  这篇文章主要介绍了Python编程中运用闭包时所需要注意的一些地方,文章来自国内知名的Python开发者felinx的博客,需要的朋友可以参考下 写下这篇博客,起源于Tornado邮件群组的这个问题how to use outer variable in inner method,这里面老外的回答很有参考价值,关键点基本都说到了.我在这里用一些有趣的例子来做些解析,简要的阐述下Python的闭包规则,首先看一个经典的例子: ? 1 2 3 4 5 6 7 8 9 10 11 def foo(

《树莓派Python编程入门与实战》——2.3 使用Raspbian图形用户界面

2.3 使用Raspbian图形用户界面 树莓派Python编程入门与实战 默认情况下,当你启动树莓派并登录后会进入到Linux命令行.但是树莓派同样还有一个图形用户界面(GUI,Graphical User Interface). 为了打开图形界面,你需要在命令行键入startx并且回车.然后轻量级的X11桌面环境(LXDE,Lightweight X11 Desktop Environment)就启动了,你可以看到一个类似图2.1的图形界面. 提示: Linux桌面环境 一个关于Linux的