1. 获取公网IP

class Getmyip:def getip(self):try:myip = self.visit("http://www.ip138.com/ip2city.asp")except Exception, e1: logging.warning(str(e1))try:myip = self.visit("http://www.whereismyip.com")except Exception, e2: logging.warning(str(e2))myip = "So sorry!!!"return myipdef visit(self,url):opener = urllib2.urlopen(url)
#       if url == opener.geturl():mystr = opener.read()return re.search('\d+\.\d+\.\d+\.\d+',mystr).group(0)

2. 发邮件

def send_mail(to_list,sub,content):  mail_host="smtp.163.com"  #设置服务器mail_user="aaa"    #用户名mail_pass="aaa"   #口令 mail_postfix="163.com"  #发件箱的后缀me="hello"+"<"+mail_user+"@"+mail_postfix + ">"msg = MIMEText(content,_subtype='plain',_charset='utf8')  msg['Subject'] = sub  msg['From'] = me  msg['To'] = ";".join(to_list)  try:  server = smtplib.SMTP()  server.connect(mail_host)  server.login(mail_user,mail_pass)  server.sendmail(me, to_list, msg.as_string())  server.close()  return True  except Exception, e:  print str(e)  return False  

3. 每半小时检查一次

if __name__ == '__main__':  strLastIP = ''logging.info('Starting message')while True:logging.info('time.sleep begin')time.sleep(1600)logging.info('time.sleep end')getmyip = Getmyip()logging.info('Getmyip')localip = getmyip.getip()logging.info('getmyip.getip =' + localip)if localip == 'So sorry!!!' or localip == '':continueif  localip == strLastIP :logging.info("The same ip : " + localip)else:logging.info( "localip ok : " + localip)  if send_mail(mailto_list,"IP " + localip, localip):  strLastIP = localiplogging.info( "send ok")  else:  logging.warning( "send err" ) 

4. 开机启动

编辑  /etc/init.d/rc.local

python /usr/local/work/sendmyip.py &

树莓派 公网IP变动后 自动邮件通知 python相关推荐

  1. Python爬虫-京东商品到货自动邮件通知

    文章目录 前言 京东爬虫 网页分析 代码实现 效果演示 小结 前言 前阵子疫情严重期间,口罩遭到疯抢,各大电商平台口罩供不应求.本文简述如何通过 Python 爬虫不断监控京东商品是否有货,并在到货时 ...

  2. 一时兴起写的C++定期监测服务器IP变动并发送邮件的小工具

    动机 由于实验室Windows服务器经常由于各种原因导致IP变动,所以就想在IP变动后自动获取新的IP并发邮件告诉我. PS.由于我们实验室的服务器的校园网只需要连接上就能上网,而且是动态IP,所以就 ...

  3. 自动发送邮件的服务器,自动邮件发送_任何情况立刻通知你

    原标题:自动邮件发送_任何情况立刻通知你 Python自动邮件发送 在日常工作中,我们经常需要收发邮件,不知大家可曾想过,如果能够实现自动发送,那岂不是爽歪歪~ 就像跑图像检测的模型经常跑一两天,如果 ...

  4. 树莓派 自动发送公网IP至指定邮箱

    第一步:获取公网ip,使用w3m工具,从whatismyip.org网站获取公网ip. 安装:sudo apt-get install w3m 使用:w3m -dump http://whatismy ...

  5. keepalived基本配置和邮件通知

    keepalived配置和使用 安装: yum安装 yum install -y keepalived 编译安装 # 安装编译环境 yum install -y gcc openssh-server ...

  6. 阿里云服务器是如何实现每台服务器都是公网IP的呢?

    根据我所知道的回答一下这个问题. 利用公有云(比如阿里云.腾讯云.华为云等)部署了应用之后,为了访问申请的云服务器,需要使用公网IP,公有云服务商不仅提供了固定的公网IP,更多采用的是弹性公网IP. ...

  7. 腾讯云什么是IP,如何更换公网IP以及可更换次数

    1.什么是云服务器公网IP? 当用户在云服务器实例上部署的应用需要公开提供服务时,必须经由 Internet 传输数据,且必须具备一个 Internet 上的 IP 地址(亦称公网 IP 地址).腾讯 ...

  8. 优酷路由宝设置虚拟服务器,优酷路由宝添加“黑科技”,ROOT后加脚本,自动获取公网IP...

    文章背景: 网友是江苏省中国移动的宽带用户,移动宽带上网需要拨号,而且有时候拨号获得的是公网IP,有时候获取到的是内网IP,向我求助帮忙,编写个脚本,让路由器自动判断.获取到内网IP就自动重启,直到获 ...

  9. Python 之自动获取公网IP

    Python 之自动获取公网IP 2017年9月30日 文档下载:https://wenku.baidu.com/view/ff40aef7f021dd36a32d7375a417866fb84ac0 ...

最新文章

  1. MOOON-server新消息处理接口
  2. startservice方式启动服务
  3. 0403互联网新闻 | 哔哩哔哩上线电商类小程序;翼鸥教育和腾讯云联合发布ClassIn Cloud...
  4. Git中的日常使用 码云
  5. Ethercat解析(六)之功能概述
  6. php 调用父类变量,PHP-通过实例化父类访问常量
  7. 云计算实战系列四(Linux文件权限I)
  8. 迭代器,lower_bound说明
  9. java入学测试_OLI 课程 Java入学考试的五道题
  10. 【Linux】最常用命令:简单易学,但能解决95%以上的问题
  11. ThinkPHP5 php-jwt
  12. 荣耀手机安装谷歌框架_华为荣耀9青春版安装谷歌框架 无需Root 华为荣耀手机安装谷歌框架...
  13. 企业网络项目投标范文
  14. 前端微信小程序电影类仿淘票票微信小程序
  15. python 数列筛选_numpy ndarray 按条件筛选数组,关联筛选的例子
  16. 深剖基类和派生类的虚函数表
  17. Gitee码云 操作
  18. .cast( )函数的使用
  19. IntelliJ IDEA 如何实现代码展示自动换行
  20. 让按钮变灰色,不可用/

热门文章

  1. Java深克隆和浅克隆的原理及实现
  2. 60分钟教你实现Chatbot(基于pytorch)
  3. 【rotors】多旋翼无人机仿真(四)——参数补偿和PID控制
  4. 浅谈Wi-Fi渗透--原理篇
  5. 每日加瓦,终成栋房7-Object、Date、DateFormat、Calendar、System、StringBuider、包装类
  6. 技术总监是干什么的?
  7. nginx alias php,Nginx设置alias实现虚拟目录 alias与root的用法区别
  8. NBS的N把“瑞士军刀”——产品解读之规则设计器
  9. win8系统计算机属性在哪个文件夹,Win8如何更改文件夹的只读或系统属性
  10. 超赞 不愧是美团内部的JVM学习手册,从头到尾全是精华