脚本首先会尝试获取网页内容,然后判断网页内容是否包含指定内容,然后判断网页状态码,都没问题就通过,其他情况全部发邮件告警。
import requests
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_email_smtp():
for receiver_email in ["dov@qq.com","27895@qq.com","416@qq.com"]:
sender_email = "dov@qq.com"
password = "*****************"
message = MIMEMultipart()
message["From"] = sender_email
message["To"] = receiver_email
message["Subject"] = "服务器故障"
body = "协同网页信息获取失败,请重启应用系统!"
message.attach(MIMEText(body, "plain"))
try:
server = smtplib.SMTP("smtp.qq.com", 587)
server.starttls()
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message.as_string())
print("Email sent successfully!")
except Exception as e:
print(f"Error: {e}")
finally:
server.quit()
url = 'http://16.16.16.25'
try:
response = requests.get(url,timeout=3)
content = response.text
if "登录前门户" in content and response.status_code == 200:
print("Normal")
else:
send_email_smtp()
except:
send_email_smtp()