树莓派发送自己ip地址到QQ邮箱

      在没有显示屏的情况下连接树莓派无非两种情况:1.通过VNC  2.通过SSH。但是这两种连接方式都需要树莓派的IP地址,每次登陆路由器管理员界面查ip非常麻烦(尤其是在管理员密码被忘记的情况下  亲测。。)。所以我想到写一个python程序,让树莓派自己把ip地址发给我,但由于树莓派开机自动运行python程序我还没弄好,之后做好了再更新。

上代码

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
import urllib
import urllib.request
import socket
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.utils import formataddr

my_sender = '[email protected]'  # 发件人QQ邮箱账号
my_pass = 'XXXXXXXXX'  # 发件人QQ邮箱密码
my_user = '[email protected]'  # 收件人QQ邮箱账号

def mail():
    ret = True
    try:
       # msg = MIMEText('填写邮件内容', 'plain', 'utf-8')
        msg = MIMEMultipart()
        msg['From'] = formataddr(["陈大帅", my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['To'] = formataddr(["陈大帅", my_user])  # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['Subject'] = "树莓派IP地址"  # 邮件的主题,也可以说是标题

        # 邮件正文内容
        msg.attach(MIMEText(ip, 'plain', 'utf-8'))

        server = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是25
        server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(my_sender, [my_user, ], msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.quit()  # 关闭连接
    except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
        ret = False
    return ret

# 检查网络连同性
def check_network():
    while True:
        try:
            result=urllib.request.urlopen('https://www.baidu.com').read()
            print(result)
            print("Network is Ready!")
            break
        except Exception:
           print(err)
           print("Network is not ready,Sleep 5s....")
           time.sleep(5)
    return True

# 获得本级制定接口的ip地址
def get_ip_address():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(("1.1.1.1",80))
    ipaddr=s.getsockname()[0]
    s.close()
    return ipaddr

time.sleep(20)
check_network()
ip=get_ip_address()
ret = mail()
if ret:
    print("OK")
else:
    print("error")

需要注意的是QQ邮箱必须要打开SMTP服务才行(花了我4角钱  心痛o((>ω< ))o),这里的密码不是QQ密码,是一段登陆的授权码。

上一张成功图

树莓派发送自己ip地址到QQ邮箱_第1张图片

 

 

两分钟后的更新。。。

突然发现买树莓派时送的资料里有一个ipscaner.exe软件,直接可以搜索到同网下的树莓派的ip地址。上面方法用于装逼使用,若有不适,请用下面这个实用的方法。不让我上传这个软件,说是已经有相同资源了,,,

有需要的又怕百度下出一堆病毒的可以联系我邮箱 [email protected]

树莓派发送自己ip地址到QQ邮箱_第2张图片

你可能感兴趣的:(树莓派)