玩转树莓派 | 自动上报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
表示执行完这条命令之后恢复原来的用户。