玩转树莓派 | 自动上报IP
安装和配置mutt 和 msmtp
mutt 和 msmtp 是两个常用的邮件客户端和 SMTP(简单邮件传输协议)工具。它们通常被一起使用来发送和接收电子邮件。
mutt:- mutt 是一个文本模式的邮件客户端,它提供了一个基于终端的用户界面,可以在 Linux 上以命令行方式使用。
- mutt 支持多种邮件协议,包括 POP3 和 IMAP,因此可以使用它来连接到不同的邮件服务器来接收和阅读邮件。
- mutt 具有丰富的配置选项和自定义功能,可以通过编辑配置文件进行优化和修改。可以设置邮箱、签名、邮件过滤规则等。
msmtp:msmtp是一个用于发送邮件的 SMTP 客户端工具,它允许通过外部的 SMTP 服务器发送电子邮件。msmtp配合mutt使用时特别方便,因为mutt默认不包含 SMTP 邮件发送功能,而msmtp可以作为其外部的 SMTP 发送器。msmtp配置简单,只需编辑一个配置文件,并在其中指定 SMTP 服务器的详细信息,如服务器地址、端口、用户名和密码等。
执行如下命令安装 mutt 和 msmtp:
1 | sudo apt install -y mutt msmtp |
安装后,先配置 msmtp,在 /etc目录下创建文件 msmtprc(该配置为所有用户生效,如果仅对当前用户生效,仅需创建 ~/.msmtprc文件,不推荐后一种)。msmtprc配置文件内容为:
1 | account default |
其中,smtp.qq.com是我使用的邮箱的SMTP服务器地址,xxx@foxmail.com是我用于发送邮件的邮箱,your_password是邮箱密码,你要根据你的情况修改。由于 msmtprc 中包含密码,因此需要设置只读:
1 | sudo chmod 600 /etc/msmtprc |
然后配置 mutt。在/etc目录下创建文件muttrc(或者在当前用户的目录下创建文件 .muttrc,仅对当前用户生效),内容如下:
1 | set sendmail="/usr/bin/msmtp" |
其中,realname是发件人的名字,接收到的邮件中会显示出来。
获取 IP 和 SSID
树莓派开机自动上报的内容包括 IP 和连接的 WIFI 名称,其一般步骤为:
- 开机时执行一个脚本,检测网络可用性
- 网络通畅后获取自己的IP地址和网络名称
- 发送邮件到指定的邮箱。
根据上述思路,send-ip-mail.sh脚本内容如下:
1 |
|
其中,wlan1为树莓派无线网卡,xxx@foxmail.com为要发送的目的地址。
开机自动上报 IP
为了实现开机自动 IP,需要将上述 send-ip-mail.sh 脚本放在 /etc/rc.local 中,只需一行即可。
1 | #/etc/rc.local |
其中,su 命令是指定在 pi 用户下执行这条命令,-c 表示执行完这条命令之后恢复原来的用户。