RPi 2B 自动发送获取的IP到固定邮箱

/*************************************************************************
 *                 RPi 2B 自动发送获取的IP到固定邮箱
 * 声明:
 *     本文主要记录RPi 2B如何自动将IP以邮件的形式发送到邮箱。
 *
 *                                    2016-2-21 深圳 南山平山村 曾剑锋
 ************************************************************************/

一、参考文档:
    1. RPi Email IP On Boot Debian
        http://elinux.org/RPi_Email_IP_On_Boot_Debian
    2. How to convert list to string [duplicate]
        http://stackoverflow.com/questions/5618878/how-to-convert-list-to-string
    3. Python for Loop Statements
        http://www.tutorialspoint.com/python/python_for_loop.htm

二、cat bootSendEmail.py
    #!/usr/bin/python

    import subprocess
    import smtplib
    from email.mime.text import MIMEText
    import datetime

    # Change to your own account information
    # Account Information
    to            = '64128306@qq.com'            # Email to send to.
    mail_user     = 'zengjf42@163.com'           # Email to send from.
    mail_password = '填入授权密码'                           # Email password.
    smtpserver    = smtplib.SMTP('smtp.163.com') # Server to use.

    smtpserver.ehlo()                            # Says 'hello' to the server
    smtpserver.starttls()                        # Start TLS encryption
    smtpserver.ehlo()
    smtpserver.login(mail_user, mail_password)   # Log in to server
    today = datetime.date.today()                # Get current time/date

    arg='ip route list'                          # Linux command to retrieve ip addresses.
    # Runs 'arg' in a 'hidden terminal'.
    p=subprocess.Popen(arg,shell=True,stdout=subprocess.PIPE)
    data = p.communicate()                       # Get data from 'p terminal'.

    # get ip data
    ip_lines = data[0].splitlines()
    ips = ""
    for ip in ip_lines:
       ips += ip + "\n"

    # Creates the text, subject, 'from', and 'to' of the message.
    msg = MIMEText(ips)
    msg['Subject'] = 'IPs For RaspberryPi on %s' % today.strftime('%b %d %Y')
    msg['From'] = "zengjf42@163.com"
    msg['To'] = "64128306@qq.com"

    # Sends the message
    smtpserver.sendmail(mail_user, [to], msg.as_string())

    # Closes the smtp server.
    smtpserver.quit()

三、 将bootSendEmail.py放入/usr/bin/

四、modify /etc/rc.local
    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.

    # Print the IP address
    _IP=$(hostname -I) || true
    if [ "$_IP" ]; then
      printf "My IP address is %s\n" "$_IP"
      bootSendEmail.py                         # add this line
    fi

    exit 0

五、重启系统,并查看邮箱:
    default via 192.168.1.1 dev wlan0
    default via 192.168.1.1 dev wlan0  metric 303
    192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.5
    192.168.1.0/24 dev wlan0  proto kernel  scope link  src 192.168.1.102
    192.168.1.0/24 dev wlan0  proto kernel  scope link  src 192.168.1.102  metric 303 

 

时间: 2024-09-20 04:14:54

RPi 2B 自动发送获取的IP到固定邮箱的相关文章

php-PHP网站获取客户端IP地址固定都是北京的

问题描述 PHP网站获取客户端IP地址固定都是北京的 我用PHP开发了一个网站,先放在了主机屋免费空间上进行测试,想获取访问的客户端 的IP,可是每次获取到的IP都一样. 解决方案 ip地址是不是你服务器的地址?如果是是防火墙的问题 REMOTE_ADDR得到服务器IP,非客户端的IP 解决方案二: 有可能是百度,搜狗,360等网络爬虫访问你的页面,他们无时无刻都在扫描网络中的网页,不要激动,骚年.

RPi 2B UART作为调试口或者普通串口

/************************************************************************************** * RPi 2B UART作为调试口或者普通串口 * 声明: * 本文主要记录RPi 2B UART如何设置为调试口或者普通串口,本来早就做出来了,由于接错 * 了线,GND和TXD接反了,导致SecureCRT发不出信号,但能接收到. * * 2016-2-24 深圳 南山平山村 曾剑锋 ****************

RPi 2B IPC webcam server

/**************************************************************************** * RPi 2B IPC webcam server * 说明: * 最近可能要用到webcam,正好手上有RPi 2B,也有摄像头,于是了解一下IPC * 工作原理,查找一些资料打算再树莓派上做一些测试,参考文章有参考操作视频. * * 2016-9-12 深圳 南山平山村 曾剑锋 *****************************

RPi 2B python opencv camera demo example

/************************************************************************************** * RPi 2B python opencv camera demo example * 声明: * 本文主要记录RPi 2B 使用python opencv来获取图片的方式. * * 2016-2-24 深圳 南山平山村 曾剑锋 **********************************************

windows 远程桌面连接 RPi 2B

/************************************************************************* * windows 远程桌面连接 RPi 2B * 声明: * 本文主要记录windows下如何远程RPi 2B,通过ssh进去安装xrdp.设置USB * 无线网卡等工作. * * 2016-2-15 深圳 南山平山村 曾剑锋 ************************************************************

windows ping RPi 2B

/************************************************************************* * windows ping RPi 2B * 声明: * 本文主要记录如何设置RPi 2B静态IP,并且通过windows来ping通RPi 2B. * * 2016-2-15 深圳 南山平山村 曾剑锋 ************************************************************************

iOS获取设备IP地址

以前做过获取设备IP地址的功能,但是由于当时代码管理不当,很多代码已经遗失,现在只能重新过一遍,也让自己更有~~基情~~激情的学习.网上关于这方面的文章很多,但是找到自己真正需要的却不容易,经过几番周折.终于在著名的stackoverflow上面找到了我想要的答案. 代码如下: #import <ifaddrs.h> #import <arpa/inet.h> #import <net/if.h> #define IOS_CELLULAR @"pdp_ip0&

arp-从设备发出的ARP,编程获取设备Ip

问题描述 从设备发出的ARP,编程获取设备Ip 当有设备发送ARP广播包时,该怎样从这个ARP包里获得这个设备的Ip地址.不是要用抓包软件 抓的啊,因为要写个进程和其他进程通信,但是没有什么好的思路,刚刚接触这个,请各位 有经验的话帮忙给点提示或者给点参考资料链接可以吗?非常感谢各位.自己找的时候大多 是找到ARP欺骗的编程方法和例子,困惑了挺久了(linux c的) 解决方案 Linux发送arp请求与接收arp响应

asp.net(vb.net)获取真实IP的函数

aspx vb.net获取真实IP的函数如下: 复制代码 代码如下: <script runat="server"> Public Function CheckIp(ByVal ip As String) As Boolean Dim pat As String = "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$" Dim reg As Regex = New Regex(pat) if ip = "