NAS动态获取IPV6并通过邮件通知用户 |
您所在的位置:网站首页 › 查看群晖ipv6地址 › NAS动态获取IPV6并通过邮件通知用户 |
前提条件:NAS处于IPV6公网
判断当前网络属于IPV4/V6
通过以下命令获取当前公网IP: #windows cmd or linux bash curl http://icanhazip.com如果返回 xx.xx.xx.xx 那当前只有ipv4 如果返回xx:xx:xx:xx:xx:xx:xx:xx 那当前处于ipv6公网,返回值就是当前机器的ipv6地址 获取IPV6公网IP的方式宽带 博主当前用的是电信宽带,默认是v4私网+v6公网,光猫、路由器、NAS均支持IPV6,可以直接获取IPV6公网IP 手机 手机获取的IPV6默认就是公网的,手机热点可以给NAS提供公网IPV6 打开NAS的ssh在设置→账户打开SMTP并获取授权码 发送邮件 import smtplib from email.mime.text import MIMEText #change begin mail_pass = 'xxx' #QQ邮箱的授权码 sender = '[email protected]' #发件人 receivers = '[email protected]' #收件人 subject = '' #邮件主题 mail_info = '' #邮件正文 #change end mail_host="smtp.qq.com" message = MIMEText(mail_info) message['From'] = sender message['To'] = receivers message['Subject'] = subject try: s = smtplib.SMTP_SSL(mail_host, 465) s.login(sender, mail_pass) s.sendmail(sender, receivers, message.as_string()) except Exception as e: print(str(e)) 定时通知 通过Linux的cron进程实现这个需求,具体命令:crontab crontab -e # m h dom m dow cmd # 分 时 日 月 周 具体执行的命令,尽量是绝对路径 0,15,30,45 * * * * python /xxx/getipv6.py 小结:通过url获取当前公网IP、通过smtp发送邮件、通过crontab定时运行脚本。 提升:大家可以看到,目前是每一刻钟发送一次邮件,理论上邮件量非常大,那么在尽量做到实时获取ip地址的情况下如何避免这个问题呢? 博主在这里提出了一个解决方案:保存上次获取的IP,如果最新的IP与上次的不一致,再发邮件。 大家可以按自己的思维来。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |