您好,登錄后才能下訂單哦!
如何通過樹莓派進(jìn)行公網(wǎng)IP變動(dòng)后自動(dòng)郵件通知python,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
1. 獲取公網(wǎng)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 myip def 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. 發(fā)郵件
def send_mail(to_list,sub,content): mail_host="smtp.163.com" #設(shè)置服務(wù)器 mail_user="aaa" #用戶名 mail_pass="aaa" #口令 mail_postfix="163.com" #發(fā)件箱的后綴 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. 每半小時(shí)檢查一次
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 == '': continue if localip == strLastIP : logging.info("The same ip : " + localip) else: logging.info( "localip ok : " + localip) if send_mail(mailto_list,"IP " + localip, localip): strLastIP = localip logging.info( "send ok") else: logging.warning( "send err" )
4. 開機(jī)啟動(dòng)
編輯 /etc/init.d/rc.local
python /usr/local/work/sendmyip.py &
看完上述內(nèi)容,你們掌握如何通過樹莓派進(jìn)行公網(wǎng)IP變動(dòng)后自動(dòng)郵件通知python的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。