查询外网IP并发送邮件的脚本

泡论坛时发现的小问题,自己做了下,记录如下:

问题:如何查询服务器的外网IP并发送到指定邮箱?

解决办法:

1 #!/bin/sh 2 3 4 ip=`curl -s 'http://checkip.dyndns.org' | sed 's/.*Current IP Address: /([0- 9/.]*/).*//1/g'` 5 echo "Sending ip $ip..." 6 7 to="[email protected]" 8 subject="IP" 9 message="IP is $ip" 10 headers="From:server@serverdomain" 11 echo $message | mail -s $subject $to -- -f $headers 12 echo "Send OK!"

 

大概思路:

首先通过查询  http://checkip.dyndns.org获取外网IP,得到一个HTML页,sed过滤道多余的HTML标签,获得准确的IP

然后通过sendmail发送邮件到指定邮箱

需要安装curl和sendmail

 

sudo apt-get install curl sudo apt-get install sendmail

sendmail的配置比较复杂,不过可以使用默认的配置也能够发送邮件。

你可能感兴趣的:(查询外网IP并发送邮件的脚本)