樹莓派使用的wifi聯網,在宿舍使用的是公共網絡,不能設置靜態ip,每次樹莓派上電開機後ip地址可能會改變,因此讓樹莓派開機聯網後自動發送ip地址到QQ郵箱vim
1、安裝mutt和msmtpbash
mutt: 是一個Linux下的郵件程序,Mutt 更像一個文件管理器,只不過它管理的是email。服務器
msmtp: 是Linux下一個很是簡單易用的smtp客戶端。網絡
sudo apt-get install mutt sudo apt-get install msmtp
2、配置mutt和msmtpssh
一、配置msmtp,在用戶的根目錄下新建文件.msmtprc,內容以下:curl
account default host smtp.aliyun.com from 你的郵箱地址 auth plain user 你的郵箱地址 password 你的郵箱密碼 logfile /var/log/msmtp.log
二、配置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
2、設置樹莓派讀取Ip地址並經過郵件發送阿里雲
如下腳本文件參考網上的文章 send-ip-mail.shurl
#!/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登陸正常。