圣者
精华
|
战斗力 鹅
|
回帖 0
注册时间 2021-3-3
|
本帖最后由 ryanz 于 2023-5-4 09:08 编辑
方案要么是ddns要么就是跑个定时任务ip变了就发邮件,ddns的方法网上介绍的很多,后者我这边的脚本见下,然后再加个crontab定时执行 0 */4 * * * /路径/ip.py
- #!/usr/bin/python
- import smtplib
- import requests
- from pathlib import Path
- from email.header import Header
- from email.mime.text import MIMEText
- def send_email(recv: str, subject: str, text: str):
- sender = '你的邮箱地址'
- access = '申请的access key'
- msg = MIMEText(text)
- msg['Subject'] = subject
- msg['From'] = Header('Home Monitor <你的邮箱地址>')
- msg['To'] = recv
- with smtplib.SMTP_SSL("smtp.qq.com", 465) as server:
- server.login(sender, access)
- server.sendmail(sender, [recv], msg.as_string())
- print("Successfully sent email")
- if __name__ == '__main__':
- with open(Path.home().joinpath(".ip"), "a+") as f:
- f.seek(0)
- ip_last = f.read().strip()
- ip = requests.get('https://ifconfig.me', timeout=2).text.strip()
- print(ip, "/", ip_last)
- if ip != ip_last:
- f.seek(0)
- f.truncate()
- f.write(ip)
- send_email("你的邮箱地址",
- "home ip changed to " + ip, ip_last + " => " + ip)
复制代码 |
评分
-
查看全部评分
|