#!/usr/bin/python3
import requests
import smtplib
from email.header import Header
from email.mime.text import MIMEText
# 第三方SMTP服务的账号信息
mail_host = "smtp.163.com" # SMTP服务器
mail_user = "xxxx@163.com" # 用户名
mail_pass = "xxxxxx" # 授权密码,非登录密码
sender = 'xxxx@163.com' # 发件人邮箱(最好写全, 不然会失败)
receivers = ['123@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
#测试站点
arr_target = [
['站点1', 'https://www.baidu.com'],
['站点2', 'https://www.badfa234idu.com'],
]
def sendEmail():
message = MIMEText(content, 'plain', 'utf-8') # 内容, 格式, 编码
message['From'] = "{}".format(sender)
message['To'] = ",".join(receivers)
message['Subject'] = title
try:
smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 启用SSL发信, 端口一般是465
smtpObj.login(mail_user, mail_pass) # 登录验证
smtpObj.sendmail(sender, receivers, message.as_string()) # 发送
print("mail has been send successfully.")
except smtplib.SMTPException as e:
print(e)
try:
for target in arr_target:
title = '服务器可能宕机了 - ' + target[0] # 邮件主题
content = '请及时检查服务器的连通性'
url = target[1]
#测试采集
response = requests.get(url)
#print(response.text)
except:
sendEmail()
#print('发送预警邮件')
|