免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1131 | 回复: 0
打印 上一主题 下一主题

转。通过 python 把家里路由的 IP 发邮件给自己 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-02 11:13 |只看该作者 |倒序浏览
对于需要经常连回家中,而动态 DNS 又时常抽风的朋友,主要是在 DDNS 抽风的时候备用.

[Python]代码
  1. # coding=utf-8
  2. import smtplib
  3. import httplib
  4. import time
  5. import imaplib
  6. from email.mime.text import MIMEText
  7. from email.header import Header
  8. import datetime

  9. #从 Oray 网站取 IP 地址
  10. httpClient = httplib.HTTPConnection('ddns.oray.com', 80, timeout=30)
  11. httpClient.request('GET', '/checkip')
  12. response = httpClient.getresponse()
  13. ipline = response.read().split(' ')[5]
  14. ipAddress = ipline[0:ipline.index('<')]
  15. httpClient.close()

  16. # #准备 Email 内容
  17. # #标题是时间
  18. # #内容是 IP 地址
  19. msg = MIMEText("""</pre>
  20.                     <h1>"""+ipAddress+"""</h1>
  21.                     <pre>""",'html','utf-8')
  22. msg['Subject'] = Header(time.strftime('%Y-%m-%d %H:%M:%S'), 'utf-8')
  23. # #发送邮件
  24. so = smtplib.SMTP()
  25. so.connect('smtp.163.com')
  26. print('smtp server connect')
  27. so.login('username', 'password')
  28. so.sendmail('username@163.com','username@sina.com',msg.as_string());
  29. so.close()

  30. #删除前一天记录 IP 的邮件
  31. imap = imaplib.IMAP4('imap.sina.com')
  32. imap.login('username','password')
  33. imap.select("INBOX",False)
  34. beforDay = datetime.datetime.now()+datetime.timedelta(days=-1)

  35. type,data = imap.search(None,'(SUBJECT "'+beforDay.strftime('%Y-%m-%d')+'")')
  36. print(data)
  37. splitData = data[0].split(' ')[::-1]
  38. for num in splitData:
  39.     if num!='':
  40.         imap.store(num, '+FLAGS', '\\Deleted')
  41. imap.expunge()
  42. imap.close()
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP