网上的确存在很多相同文章,但我实际操作还是遇到了一些问题,该文章为流程记录
1 安装msmtp和mutt
sudo apt install msmtp
sudo apt install mutt
2 配置
取得管理员权限,然后进入/root里面去建立.msmtprc和.muttrc,否则会找不到配置而报127错误
先设置一个root密码
sudo passwd root
然后取得权限
su root
配置文件示例:
.msmtprc
account default
host smtp.aliyun.com
from lissettecarlr@aliyun.com
auth plain
user lissettecarlr@aliyun.com
password xxxxxx
logfile /var/log/msmtp.log
.muttrc,需要设置一下权限chmod 600 .msmtprc
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="RaspberryPi"
set editor="vim"
set crypt_use_gpgme=no
其中第一项地址可用使用whereis查询
配置完成后可以测试一下
echo “lalallalalala” | mutt -s “test” youremail@163.com
3 邮件发送脚本
#! /bin/bash
while true
do
TIMEOUT=5
SITE_TO_CHECK="www.baidu.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
ETH0_IP_ADDR=`ifconfig wlan0 | sed -n "2,2p" | awk '{print substr($2,1)}'`
echo "Current time: `date '+%F %T'`. Enjoy it" | mutt -s "IP Address of Raspberry Pi: $ETH0_IP_ADDR" youremail@163.com
同样可以测试一下
./send-mail.sh
4 添加脚本到自启动
vim /etc/rc.local
在退出前添加,使用root权限执行该命令
su root -c "exec /home/pi/test/email/send-mail.sh"
使用reboot重启测试一下即可
5 参考文章
树莓派开机后自动发送邮件上报IP地址
让树莓派自动上报IP地址到邮箱/Let Raspberry Pi to report its IP address via Email