树莓派启动系统后自动发邮件

教程:文章链接


知道树莓派的ip地址才能通过SSH或者VNC在你的电脑上操作树莓派,树莓派开机自动发送ip地址到指定邮箱会让你使用树莓派更加方便!

一.新建一个python脚本文件

输入命令:

touch send_ip.py

1

二.编写python脚本

(1)输入命令:

sudovim send_ip.py

1

(2)写入以下代码

#!\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.sohu.com",'你的邮箱帐号','你的邮箱密码','发件人地址',['收件人地址'],'IP Address of Raspberry PI',ipaddr)


(3)保存退出

vim编辑器下保存退出步骤为:

按esc然后输入:,然后看到冒号显示出来再输入wq,回车即可

三.设置开机自动执行该脚本

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

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

输入命令:

sudovim /etc/rc.local

1

在文件中添加/usr/bin/python/home/pi/send_ip.py然后保存退出

特别提示:收到的邮件有可能在垃圾箱里,不要以为是脚本的问题,其实是邮箱的问题,请注意查看!另外,有的邮箱不支持smtp,所以无法使用。搜狐和网易的邮箱亲测可用。

你可能感兴趣的:(树莓派启动系统后自动发邮件)