树莓派通过邮件发送IP地址

参考文档
http://blog.csdn.net/u013151320/article/details/50251959

查看树莓派IP,若有显示器,直接输入

ifconfig

便可查看
若要用putty连接树莓派,那就需要首先知道树莓派的IP,而树莓派的IP不是固定不变的
那就让树莓派开机自动发送IP地址到指定邮箱

1 首先你需要有两个邮箱,我选择使用我的126邮箱发送邮件到我的qq邮箱
126邮箱作为我的发送邮箱,需要进行授权设置
树莓派通过邮件发送IP地址_第1张图片

树莓派通过邮件发送IP地址_第2张图片
授权之后,第三方登录就要使用授权码登录

2 新建python脚本

touch send_ip.py

3 编写python脚本
输入命令

sudo vi send_ip.py

写代码

#!\usr\bin\env python
#-*-coding: utf-8-*-
import socket
import time
import smtplib
import urllib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage

#发送邮件的基本函数,参数依次如下
# smtp服务器地址、邮箱用户名,邮箱密码,发件人地址,收件人地址(列表的方式),邮件主题,邮件html内容
def sendEmail(smtpserver,username,password,sender,receiver,subject,msghtml):
        msgRoot =MIMEMultipart('reklated')
        msgRoot['To']=','.join(receiver)
        msgRoot['Subject']= subject
        msgText = MIMEText(msghtml,'html','utf-8')
        msgRoot.attach(msgText)
        smtp = smtplib.SMTP()
        smtp.connect(smtpserver,"25")
        smtp.login(username,password)
        print "YES"
        smtp.quit()
#检查网络连通性
def check_network():
        while True:
            try:
                result=urllib.urlopen('http://baidu.com').read()
                print result
                print "Network is Ready!"
                break
          except Exception , e:
                print e
                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

if  __name__ == '__main__' :
        check_network()
        ipaddr= get_ip_address()
        sendEmail("smtp.126.com",'你的邮箱帐号','你的邮箱密码','发件人地址',['收件人地址'],'IP Address of Raspberry PI',ipaddr)

记住:这里你的邮箱密码即为刚刚的授权码

保存退出
vim编辑器下保存退出步骤为:
按esc然后输入:,然后看到冒号显示出来再输入wq,回车即可

4 设置开机自动执行改脚本
使用root身份

sudo vi /etc/rc.local

在/etc/rc.local文件里加入下面这一行:

/usr/bin/python /home/pi/send_ip.py 

注:python后面有空格,一定要注意!!!没有空格开机就执行不了!!!
我用qq邮箱收到的邮件是在垃圾箱内的,记得要到里面查看~

附录:常用vi编辑器命令行
http://www.cnblogs.com/junw_china/articles/1708967.html

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