公网IP变更通知

公网IP变更通知

一 直接上shell脚本

#!/bin/bash
wan_ip=119.119.41.33

while [ -z "$real_wan_ip" ]
do
        real_wan_ip=`curl -s http://members.3322.org/dyndns/getip`
done

if [ $wan_ip == $real_wan_ip  ];then

      echo "yes" > /dev/null
else
      echo "old_ip:$wan_ip new_ip:$real_wan_ip" | mailx -s "公网IP已变" all@xxx.com
      sed -i "s/$wan_ip/$real_wan_ip/" /root/ip.sh
fi

二 安装mailx

yum -y install mailx

三 修改配置文件

方案一:使用QQ邮箱
vim /etc/mail.rc
在配置文件下方添加如下内容
set bsdcompat
set from="xxx@qq.com"
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=QQ邮箱密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
方案二:使用企业邮箱
登录后复制
set bsdcompat
set from=企业邮箱账号
set smtp=smtps://smtp.exmail.qq.com:465
set smtp-auth-user=企业邮箱账号
set smtp-auth-password=邮箱密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/

或

set bsdcompat
set from="企业邮箱账号"
set smtp=smtps://smtp.exmail.qq.com:465 
set smtp-auth-user=企业邮箱账号
set smtp-auth-password=邮箱密码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

3.1获取SSL证书

mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /root/.certs

3.2 在/etc/mail.rc追加

set from=xxx@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=你的授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

3.3 若报证书不信任,执行

cd  /root/.certs
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

3.4开启邮箱的smtp协议

《公网IP变更通知》

四 测试邮件

echo "hello,world"|mailx -v -s "test" xx@qq.com

五 添加定时任务

[root@gitlab ~]# crontab -l
*/1 * * * * sh /root/ip.sh

    原文作者:ღ春夏
    原文地址: https://blog.csdn.net/weixin_42022218/article/details/124169544
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞