zoukankan      html  css  js  c++  java
  • 树莓派开机发送IP地址到邮箱

    树莓派使用的wifi联网,在宿舍使用的是公共网络,不能设置静态ip,每次树莓派上电开机后ip地址可能会改变,所以让树莓派开机联网后自动发送ip地址到QQ邮箱

    一、安装mutt和msmtp

    mutt: 是一个Linux下的邮件程序,Mutt 更像一个文件管理器,只不过它管理的是email。

    msmtp: 是Linux下一个非常简单易用的smtp客户端。

    sudo apt-get install mutt
    sudo apt-get install msmtp
    

    二、配置mutt和msmtp

    1、配置msmtp,在用户的根目录下新建文件.msmtprc,内容如下:

    account default
    host smtp.aliyun.com
    from 你的邮箱地址
    auth plain
    user 你的邮箱地址
    password 你的邮箱密码
    logfile /var/log/msmtp.log
    • host 你的邮箱的SMTP服务器地址,可以在邮件的网站上查到,我用的阿里云的邮箱,所以是aliyun.com后缀
    • from 这里是发件人地址,在收件方会显示,设置成你给树莓派申请的邮箱地址
    • user 这里是用户名,网上有用户说这里设置邮箱的用户名即@符号前面的字符串就可以,我没有尝试,还是设置的我的邮箱地址,建议先使用邮箱地址,配置成功之后可以自己进行修改
    • password 这个就是自己邮箱的密码,没什么好说的,但是这里是明文密码,要注意保密:)
    • logfile 这是msmtp的程序运行日志文件路径,需要自己创建,msmtp自己不会创建.在发送邮件之后程序会把发送日志写到这个路径的文件里。

    2、配置mutt的文件,同样在用户根目录下新建文件.muttrc,内容如下:

    set sendmail="/usr/bin/msmtp"
    set use_from=yes
    set realname="RaspberryPi"
    set editor="vim"
    

     使用以下命令测试发送邮箱是否成功:

    echo “hello world” | mutt -s “title” xxx@gmail.com
    

    二、设置树莓派读取Ip地址并通过邮件发送

    以下脚本文件参考网上的文章 send-ip-mail.sh

    #!/bin/bash
    # check network availability 
    while true
    do
    TIMEOUT=5
    SITE_TO_CHECK="www.126.com"
    RET_CODE=`curl -I -s --connect-timeout $TIMEOUT $SITE_TO_CHECK -w %{http_code} | tail -n1`
    if [ "x$RET_CODE" = "x200" ]; then
    echo "Network OK, will send mail..."
    break
    else
    echo "Network not ready, wait..."
    sleep 1s
    fi
    done
    # get the IP address of eth0, e.g. "192.168.16.5" 
    ETH0_IP_ADDR=`ifconfig eth0 | sed -n "2,2p" | awk '{print substr($2,1)}'`
    # send the Email 
    echo "Current time: `date '+%F %T'`. Enjoy it" | mutt -s "IP Address of Raspberry Pi: $ETH0_IP_ADDR" xxx@gmail.com
    

      

    使用chmod +x send-ip-mail.sh添加执行权限后,运行查看是否可以发送ip地址。

    在rc.local文件中添加开机执行该脚本的命令后,上电重启发现不能接收到邮件,后来上网查看发现是权限问题,经过一番折腾,后来选择把.muttrc,.msmtprc和send-ip-mail.sh文件都复制到/boot目录下,在rc.local中添加如下内容,最后重新上电可以接收到树莓派发来的邮件,通过邮件里的ip地址ssh登录正常。

    参考文章:https://www.jianshu.com/p/893352c61f93



  • 相关阅读:
    洛谷P2516 [HAOI2010]最长公共子序列 动态规划 容斥原理
    [LeetCode]235. Lowest Common Ancestor of a Binary Search Tree
    [LeetCode]144. Binary Tree Preorder Traversal二叉树前序遍历
    [LeetCode]129. Sum Root to Leaf Numbers路径数字求和
    [leetcode]645. Set Mismatch
    [leetcode]110BalancedBinaryTree平衡二叉树
    [leetcode]199. Binary Tree Right Side View
    [LeetCode]116. Populating Next Right Pointers in Each Node
    [leetcode]720. Longest Word in Dictionary字典中最长的单词
    [LeetCode]690. Employee Importance员工重要信息
  • 原文地址:https://www.cnblogs.com/lw77/p/11735184.html
Copyright © 2011-2022 走看看