樹莓派開機自動發送IP到指定QQ郵箱


  1. 開啟QQ郵箱的smtp服務(自行百度)

  2. 獲取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 //加權限

  3. 設置開機自啟

    1. 制作sh腳本

    sudo nano clientStart.sh

    輸入如下腳本內容:

    #!/bin/sh

    cd /home/pi

    sudo python send_ip.py

    (其實就是將程序運行路徑與程序執行命令寫在了一個腳本里)

    然后按ctrl+x退出,再按Y保存,再按Enter,此時回到了主界面。

     

    1. 修改clientStart.sh的權限

    在主界面里輸入以下命令:

     

    sudo chmod 777 /home/pi/track/clientStart.sh

    一定要修改這個權限,否則無法執行

     

    1. 向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就可以自動運行了,以后,只要一通電,它就會自己運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM