python获取外网IP并发邮件的实现方法


Posted in Python onOctober 01, 2017

第一步:通过ip138来爬取外网ip

第二步:通过python的smtplib模块和email来发送邮件,具体用法去网上搜索,

下面是代码示例:

#!/usr/bin/env python
#coding:utf-8
 
import urllib2
import re
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
 
##########################################
#get ip address
url = "http://1212.ip138.com/ic.asp"
url_op = urllib2.urlopen(url)
url_content = url_op.read()
ip_content = re.findall(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',url_content)
ipcode = ''.join(ip_content)
 
#################################################
# Setting mail-server, etc
mail_host="smtp.sina.com"
mail_user="ckl"
mail_pass="woXXXX"
mail_postfix="sina.com"
 
#################################################
def send_mail(to_list, sub, content):
 me = mail_user + "<" + mail_user + "@" + mail_postfix + ">"
 msg = MIMEText(content)
 msg['Subject'] = sub
 msg['From'] = me
 msg['To'] = ";".join(to_list)
 
 try:
  s = smtplib.SMTP()
  s.connect(mail_host)
  s.login(mail_user, mail_pass)
  s.sendmail(me, to_list, msg.as_string())
  s.close()
  return True
 except Exception, e:
  print str(e)
  return False
 
#################################################
# Main process
if __name__ == "__main__":
 mailto_list=["41145XXXX@qq.com"]
 
 if send_mail(mailto_list, "你的最新IP地址", ipcode):
  print "Send success!"
 else:
  print "Send failed!"

以上这篇python获取外网IP并发邮件的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python的Django框架中的通用视图
May 04 Python
总结网络IO模型与select模型的Python实例讲解
Jun 27 Python
详解如何用OpenCV + Python 实现人脸识别
Oct 20 Python
Python系统监控模块psutil功能与经典用法分析
May 24 Python
python创造虚拟环境方法总结
Mar 04 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
Aug 13 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 Python
python检查目录文件权限并修改目录文件权限的操作
Mar 11 Python
在django admin中配置搜索域是一个外键时的处理方法
May 20 Python
python 实现图片修复(可用于去水印)
Nov 19 Python
基于Python实现对比Exce的工具
Apr 07 Python
Python之自动获取公网IP的实例讲解
Oct 01 #Python
使用paramiko远程执行命令、下发文件的实例
Oct 01 #Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
Oct 01 #Python
win10下Python3.6安装、配置以及pip安装包教程
Oct 01 #Python
Python实现字符串反转的常用方法分析【4种方法】
Sep 30 #Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
Sep 30 #Python
Python基于pygame模块播放MP3的方法示例
Sep 30 #Python
You might like
杏林同学录(四)
2006/10/09 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
php构造函数实例讲解
2013/11/13 PHP
浅析PHP的静态成员函数效率更高的原因
2014/06/13 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
jquery插件validate验证的小例子
2013/05/08 Javascript
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
JavaScript中的类数组对象介绍
2014/12/30 Javascript
深入探寻javascript定时器
2015/01/02 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
[01:00:04]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第二局
2016/02/26 DOTA
python实现的各种排序算法代码
2013/03/04 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
Python复数属性和方法运算操作示例
2017/07/21 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
Python变量访问权限控制详解
2019/06/29 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
Flask框架学习笔记之使用Flask实现表单开发详解
2019/08/12 Python
Python数据存储之 h5py详解
2019/12/26 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
Python读取yaml文件的详细教程
2020/07/21 Python
Android笔试题总结
2014/11/29 面试题
2014年医学生毕业自我鉴定
2014/03/26 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
群众路线表态发言材料
2014/10/17 职场文书
公务员处分决定书
2015/06/25 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书