Python监听服务端口自动发邮件

是不是还在苦恼服务挂了,不能先人一步?“老衲已经知道服务异常了,待我稍加处理。”此时投来无数敬佩的目光(吃瓜群众) *——*

Code

#-*- encoding:utf-8 -*-

#!/usr/bin/env python

import os

import socket

import time

import smtplib

from email.mime.text import MIMEText

mailto_list=["XXXXXX@qq.com"] #接收信息的邮箱地址,可以多多个 “,”区别

mail_host="smtp.qq.com"  #设置服务器

mail_user="xxxxxx"    #用户名

mail_pass="xxxxx"  #口令获取方式  QQ  http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

mail_postfix="qq.com"  #发件箱的后缀

def send_mail(to_list,sub,content):  #to_list:收件人;sub:主题;content:邮件内容

me="业务平台系统异常"+"<"+mail_user+"@"+mail_postfix+">"  #这里的hello可以任意设置,收到信后,将按照设置显示

msg = MIMEText(content)    #创建一个实例,这里设置为html格式邮件

msg['Subject'] = sub    #设置主题

msg['From'] = me

msg['To'] = ";".join(to_list)

try:

s = smtplib.SMTP_SSL(mail_host, 465)  #smtplib发送带SSL认证的邮箱系统

s.set_debuglevel(1)

s.login(mail_user,mail_pass)  #登陆服务器

s.sendmail(me, to_list, msg.as_string())  #发送邮件

s.close()

return True

except Exception, e:

print str(e)

return False

def PortCheck(ip,port):

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

try:

s.connect((ip,int(port)))

s.shutdown(2)

print '%d is open' % port

return True

except:

print '%d is down' % port

return False

if __name__ == '__main__':

while(1>0):

flag=1

flag=PortCheck('127.0.0.1',10086)

print flag

time.sleep(10)

if flag==False:

send_mail(mailto_list,"业务平台端口检测失败:10086","error")

time.sleep(600)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 12,226评论 1 118
  • 一、相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 1...
    LizPL阅读 5,152评论 0 3
  • 可是要过好久好久 才知道自己也能过得好好 干嘛去迎合所有人 真棒!
    蛋蛋旅安阅读 1,254评论 0 0
  • 我出生在湖南,两三岁因为父母调动工作去了福建,印象里之后每年学校的寒暑假也经常会回去住上一段日子。在我初记事的那段...
    Call_me_竞哥哥阅读 5,279评论 3 3
  • 【田生万物----娜娜创业手记第11天】 已经采摘下的蜜桔跟随草莓一起回到了郑州,其中一部分低价流入了批发市场,一...
    理想城田生万物娜娜阅读 903评论 0 0