91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python怎么實現自動獲取IP并發送到郵箱

發布時間:2021-04-09 11:25:08 來源:億速云 閱讀:398 作者:小新 欄目:開發技術

小編給大家分享一下python怎么實現自動獲取IP并發送到郵箱,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

樹莓派沒有顯示器,而不想設置固定IP,因為要隨身攜帶外出,每個網絡環境可能網段不一樣。因此想用python寫個腳本,讓樹莓派開機后自動獲取本機ip,并且自動發送到我指定郵箱。

1.獲取所有連接的網絡接口,比如有線、wifi等接口

def get_ip_address():

  #先獲取所有網絡接口
  SIOCGIFCONF = 0x8912
  SIOCGIFADDR = 0x8915
  BYTES = 4096     
  sck = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  names = array.array('B',b'\0' * BYTES)
  bytelen = struct.unpack('iL', fcntl.ioctl(sck.fileno(), SIOCGIFCONF, struct.pack('iL', BYTES, names.buffer_info()[0])))[0]
  namestr = names.tostring()
  ifaces = [namestr[i:i+32].split('\0', 1)[0] for i in range(0, bytelen, 32)]

  #再獲取每個接口的IP地址
  iplist = []
  for ifname in ifaces:
    ip = socket.inet_ntoa(fcntl.ioctl(sck.fileno(),SIOCGIFADDR,struct.pack('256s',ifname[:15]))[20:24])
    iplist.append(ifname+':'+ip)
  return iplist

2.把IP地址發送到指定郵箱

def ip_send_mail(iptxt):

  #設置收件郵箱
  toaddrs = 'to@mail.com'
  #設置發送郵箱
  fromaddr = 'send@mail.com'

  #設置發送郵箱的賬號密碼
  username = 'your_sendmail@mail.com' 
  password = 'your_pass'

  #設置SMTP服務器、端口,根據你的郵箱設置,
  server = smtplib.SMTP('smtp.mail.com:25')
  #設置郵件正文,get_ip_address()返回的是list,要轉換成str
  ip = '\r\n'.join(iptxt)

  #設置郵件標題和正文
  msg = MIMEText(ip,'plain', 'utf-8')
  msg['Subject'] = 'IP For RaspberryPi'
  msg['From'] = fromaddr
  msg['To'] = toaddrs

  #啟動SMTP發送郵件
  server.ehlo()
  server.starttls()
  server.login(username,password)
  server.sendmail(fromaddr, toaddrs, msg.as_string())
  server.quit()

3.最后調用以上函數運行即可

if __name__ == '__main__':

  #獲取IP
  iptxt = get_ip_address()
  #將IP存入文件,如果直接發送郵件,這步可以省略。
  ip_save_file(iptxt)  
  #將IP地址發送到指定郵箱
  ip_send_mail(iptxt)

4.設置開機運行

把以上代碼都放入一個文件,把文件放到樹莓派卡里面,如: /home/pi/get_ip_address.py

給python腳本可執行權限

sudo chmod +x get_ip_address.py

設置系統啟動時運行

sudo vi /etc/profile

編輯profile文件,在profile最后面,fi之前添加如下:

python /home/pi/get_ip_address.py

以上是“python怎么實現自動獲取IP并發送到郵箱”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乃东县| 葵青区| 南陵县| 芦溪县| 穆棱市| 潢川县| 宜阳县| 阜新市| 三都| 南充市| 平阴县| 扎赉特旗| 页游| 岐山县| 东台市| 扶绥县| 乌兰察布市| 威远县| 海伦市| 荃湾区| 龙南县| 兴国县| 石景山区| 东源县| 临猗县| 常德市| 上犹县| 湖北省| 黔西县| 贵溪市| 西青区| 霍林郭勒市| 靖西县| 南乐县| 同德县| 天峻县| 多伦县| 兴城市| 定边县| 炉霍县| 哈巴河县|