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

简介: /************************************************************************* * RPi 2B 自动发送获取的IP到固定邮箱 * 声明: * 本文主要记录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 

 

目录
相关文章
|
7月前
|
网络协议 Linux Windows
Linux虚拟机设置固定IP
Linux虚拟机设置固定IP
144 2
|
监控 网络协议
Win系统 - 如何设置电脑的固定IP地址?
Win系统 - 如何设置电脑的固定IP地址?
789 0
Win系统 - 如何设置电脑的固定IP地址?
同时使用两片I2C同型号设备时地址怎样设置
有时候 可能 需要同时使用 多个同型号i2C的器件,这就需要 我们 更改 器件的物理地址。 同时使用两片pcf8591时地址怎样设置,也就是如何更改 器件地址。以pcf8591 为例子 以下 为PCF8591 的引脚图 可以根据引脚图对比实物图 找到 对应的3个地址引脚A0、A1和A2用于编程硬件地址。如右图所示 A0 A1 A2 默认是连在一起的然后接地的 即 是低电平 0 。所以 我们需要改变这种状态 根据 你想改变的地址 来改变 A0 A1 A2 的高低电平 比如 将A0 置为高电平,即置为‘1'
553 1
同时使用两片I2C同型号设备时地址怎样设置
|
Linux 编译器 开发工具
Linux网络环境配置:(内含:随机ip和固定ip设置方式)
Linux网络环境配置:(内含:随机ip和固定ip设置方式)
296 0
Linux网络环境配置:(内含:随机ip和固定ip设置方式)
|
人工智能 Linux
VOS 媒体转发开启后,如何计算各种编码所占用的带宽,以及如何修改服务器的时区
计算方法如下: 带宽 = 包长度 × 每秒包数 = 包长度 × (1 / 打包周期) =(Ethernet 头 + IP 头 + UDP 头 + RTP 头 + 有效载荷)× 每秒包数 =(112bit + 160bit + 64bit + 96bit + 有效载荷)× 每秒包数 =(112bit + 320bit + 有效载荷)× 每秒包数 =(432bit + 有效载荷)× 每秒包数 =(432bit × 每秒包数) + (有效载荷 × 每秒包数) =(432bit × 1000 / 打包周期) + 编码速率 =(432bit / 打包周期)Kbps + 编码速率 按照上面的计算公式: G
|
网络协议 数据安全/隐私保护
群晖设置固定IP (Fix IP)的方法
群晖设置固定IP (Fix IP)的方法
群晖设置固定IP (Fix IP)的方法
|
Shell Perl 网络安全
树莓派2B设置固定ip
​​不要修改/etc/network/interfaces文件 在/etc/dhcpcd.conf文件后面增加 interface eth0static ip_address=192.
1555 0