在前几天有整理过”Python监控WHMCS面板VPS主机商库存及微信通知”,可以利用微信通知的方式告知VPS、服务器商家库存情况,但是前提必须是WHMCS面板的商家才支持。在翻阅文档的时候,看到这里”https://eqblog.com/whmcs-python-hon.html”有提供邮件通知的库存的办法,于是一并也整理出来比较与前面的微信通知哪个好用。
第一、安装邮件支持
虽然大部分VPS、服务商都支持邮件软件的安装,但是有些商家25端口禁用,而且发邮件的时候有可能被拦截。这里我们先来安装看看,因为目前测试系统是Ubuntu,安装的不是SENDMAIL,而是mailutils。
apt-get install mailutils sharutils -y
apt-get install sysv-rc-conf -y
第二、脚本下载编辑
脚本地址:https://raw.githubusercontent.com/laobuluo/Python-VPS/master/whmemail.py
这里直接贴出来:
from sys import argv from urllib import request from os import system try: flag=0 while True: url='https://einstein.enoctus.co.uk/cart.php?a=add&pid='+argv[1] header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'} req=request.Request(url,headers=header) page=request.urlopen(req).read() with open('content.txt','w') as f: f.write('有货了,链接是:'+url) if str(page).find('out of stock')>0: flag=0 print('无货') else: flag=flag+1 print('有货') if flag<3: system("mail -s '有货了' {0} < content.txt".format(argv[2])) print(argv[2]) except: print('脚本异常,退出')
我们只需要将需要监控的url后面地址换成需要监控的服务商就可以。
第三、如何使用
python whmemail.py pid 邮箱地址
设置我们需要监控的产品对应ID,以及接收邮箱地址。
总结,测试之后发现监控没有问题,但是收不到邮件,应该是直接被拦截导致的。鉴于此,如果需要让我再次选择的话,我会用微信通知的方式。