-
開啟QQ郵箱的smtp服務(自行百度)
-
獲取IP,發送IP的python代碼
1 #!\usr\bin\env python 2 #-*-coding: utf-8-*- 3 import socket 4 import time 5 import smtplib 6 import urllib 7 from email.mime.multipart import MIMEMultipart 8 from email.mime.text import MIMEText 9 from email.mime.image import MIMEImage 10 from email.utils import formataddr 11 12 #檢查網絡連通性 13 def check_network(): 14 while True: 15 try: 16 result=urllib.urlopen('http://baidu.com').read() 17 print result 18 print "Network is Ready!" 19 break 20 except Exception,e: 21 print e 22 print "Network is not ready,Sleep 5s..." 23 time.sleep(5) 24 return True 25 #獲取本級制定接口的ip地址 26 def get_ip_address(): 27 s =socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 28 s.connect(("1.1.1.1",80)) 29 ipaddr=s.getsockname()[0] 30 s.close() 31 return ipaddr 32 33 34 def sendEmail(): 35 ret=True 36 ipaddr=get_ip_address(); 37 try: 38 msg=MIMEText(ipaddr,'plain','utf-8') 39 msg['From']=formataddr(["用戶名",'123435@qq.com']) 40 msg['To']=formataddr(["收件人",'1234345@qq.com']) 41 msg['Subject']="樹莓派IP" 42 server=smtplib.SMTP_SSL("smtp.qq.com",465) 43 server.login("1021506419@qq.com","SMTP的授權碼") 44 server.sendmail('123435@qq.com',['1234345@qq.com',],msg.as_string()) 45 server.quit() 46 print('郵件發送成功') 47 ret=True 48 except: 49 ret=False 50 if __name__ == '__main__' : 51 check_network() 52 sendEmail()
sudo chmod 777 send_ip.py //加權限
-
設置開機自啟
-
制作sh腳本
sudo nano clientStart.sh
輸入如下腳本內容:
#!/bin/sh
cd /home/pi
sudo python send_ip.py
(其實就是將程序運行路徑與程序執行命令寫在了一個腳本里)
然后按ctrl+x退出,再按Y保存,再按Enter,此時回到了主界面。
-
修改clientStart.sh的權限
在主界面里輸入以下命令:
sudo chmod 777 /home/pi/track/clientStart.sh
一定要修改這個權限,否則無法執行
-
向rc.local添加我們制作的這個腳本,用於開機啟動。
使用命令:
sudo nano /etc/rc.local
回車后,就進入了rc.local,這時,在exit 0的上一行,寫入如下程序:
/home/pi/track/clientStart.sh start
按ctrl+x,再按Y保存,再按Enter,此時,又回到了主界面。
(上面的步驟,實際上就是將上面制作的腳本添加到rc.local里)
上面的做完后,重啟樹莓派,send_ip.py就可以自動運行了,以后,只要一通電,它就會自己運行。
-