python3下实现url检测并发送告警邮件

创建存放url的文档info_url,检测url并将返回值和url写入新文件info_sta


import requests

def url():
    with open('info_url') as f:
        with open('info_sta','w') as f1:
            st = ''
            for line in f:
                line = line.strip()
                sta = str(requests.get(line).status_code)
                st = line+'|'+sta
                f1.write(st+'\n')

    with open('info_sta') as f:
        st = ''
        for line in f:
            url,status = line.strip().split('|')
            if status != '404':
                st = st + url + '\n'
    return st
主程序


import sys
import os
from email.mime.text import MIMEText
import smtplib
from email.header import Header
sys.path.insert(0,os.path.dirname(os.getcwd()))
import check_status

url = check_status.url()

mail_host = 'smtp.ym.163.com'  #smtp
mail_user = 'baojing@zenking.cc'
mail_pass = 'chanjing'

receivers = ['wzxing21@sina.com','1506353195@qq.com']

#第一部分是文本内容,第二部分plain设置文本格式,第三部分是编码设置
message = MIMEText('URL检测失败 :\n%s'%url,'plain','utf-8')
message['From'] = mail_user
message['To'] = Header('wzxing21@sina.com,1506353195@qq.com')

subject = '邮件告警'    #主题
message['subject'] = Header(subject,'utf-8')

smtpobj = smtplib.SMTP('smtp.ym.163.com')
smtpobj.login(mail_user,mail_pass)
smtpobj.sendmail(mail_user,receivers,message.as_string())
print('发送成功')

 

posted @ 2018-05-24 15:08  叫你你敢答应么  阅读(454)  评论(0)    收藏  举报