Linux下定时查看公网IP地址并用邮件发到指定邮箱

环境: Debian 9
在动态IP后面的设备想从外面访问不是一件简单的事情,在此只是分享其中的一部分方法,里面还有不少可能出错的环节。
两个命令就可以解决这个问题,但对外行来说可不是那么简单,会要花费很多时间,故在此分享这次过程中所收集到的相关有用信息。

wget http://ipecho.net/plain -O - -q > ip.txt       #将当前公网ip写入 ip.txt 文件
cat /home/user1/ip.txt | msmtp [email protected]    #将ip.txt 文件用第三方邮箱发到 [email protected] 

将这两个命令放到 Cron jobs里,由user1执行,虽然不是完美的,但简单、可靠。
查询公网ip有很多种方法,这是一篇很好的分享;

msmtp发邮件方法如下:

apt-get install msmtp       #安装msmtp client
cd /home/user1
vim .msmtprc   # 进行smtp邮箱配置

导入下面这段

defaults
#mail configure logfile /var/log/msmtp.log
#配置test帐号信息。与后面的test01相对应
account [email protected]
#SMTP邮件服务器地址
host your smtp server
#发送邮件的email地址
from [email protected]
#采用login的方式进行认证
auth login
#对应你的邮箱帐号,@之前的用户名
user [email protected]
#对应该邮箱帐号的密码
password mm
#设置默认的帐号,当然如果有多个请使用:拼接
account default:[email protected]

并且把.msmtprc的权限设置成600。
同时用cat /home/user1/ip.txt | msmtp [email protected] 来测试是否正确。

在发现这个方法之前尝试了很多如Sendmail,Exim4等,但都不简单,也不可靠,换了地方也许就不行了。

现在的方法特别简单和可靠,虽然不完美。

你可能感兴趣的:(Linux,工作环境,Linux,Debian,公网IP,命令行发邮件)