py代码如下:
import requests
import smtplib
from email.mime.text import MIMEText
def send_email(subject, message):
sender_email = "your_email@example.com"
receiver_email = "recipient_email@example.com"
password = "your_email_password"
# 设置邮件内容
msg = MIMEText(message)
msg['Subject'] = subject
msg['From'] = sender_email
msg['To'] = receiver_email
# 发送邮件
with smtplib.SMTP('smtp.gmail.com', 587) as server:
server.starttls()
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, msg.as_string())
def monitor_website(url):
try:
response = requests.get(url)
if response.status_code != 200:
subject = "Website Monitor - Response Error"
message = f"The website {url} is responding with status code {response.status_code}."
send_email(subject, message)
except requests.exceptions.RequestException as e:
subject = "Website Monitor - Connection Error"
message = f"Unable to connect to the website {url}. Error: {str(e)}"
send_email(subject, message)
# 在此处设置要监控的网站URL
website_url = "https://example.com"
# 监控网站
monitor_website(website_url)
说明:
我记得我以前手撸了一个php版本的,而且同时监控了上百个网站,任何一个网站的返回值不是200就会发送邮件通知我。
由于之前大意了,没有将php 版本的代码分享出来,也没有做任何的备份。
因为是直接在宝塔后台敲出来的,忘记保存一份到本地了,导致代码丢失。后面想在用的时候发现当初的思路还在,但已经不想再搞了。
然后就一直拖着,今天用ai帮我写了一个python版本的,试用了一下感觉还不错。
如果上面的代码到你的环境中无法执行,看一下是不是没有导入环境。
如何使用:
将上面的网站 https://example.com
换成你需要监控的。
同样也是可以改成多网站版本的,记得代码是需要修改的,具体如何改大家自己研究吧。
正文结束