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中django-userena组件的简单使用教程
May 30 Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 Python
python中使用iterrows()对dataframe进行遍历的实例
Jun 09 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
详解PyCharm+QTDesigner+PyUIC使用教程
Jun 13 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
Form表单及django的form表单的补充
Jul 25 Python
Python 异常处理Ⅳ过程图解
Oct 18 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
python opencv pytesseract 验证码识别的实现
Aug 28 Python
python 开心网和豆瓣日记爬取的小爬虫
May 29 Python
python turtle绘图命令及案例
Nov 23 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
用php+javascript实现二级级联菜单的制作
2008/05/06 PHP
php删除数组元素示例分享
2014/02/17 PHP
mantis安装、配置和使用中的问题小结
2014/07/14 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
jquery 问答知识整理
2010/02/11 Javascript
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
javascript求日期差的方法
2016/03/02 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
2017/05/13 jQuery
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
JavaScript 2018 中即将迎来的新功能
2018/09/21 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
2020/11/03 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
python获取糗百图片代码实例
2013/12/18 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
利用Python学习RabbitMQ消息队列
2015/11/30 Python
mac 安装python网络请求包requests方法
2018/06/13 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
优秀的教师个人的中文求职信
2013/09/21 职场文书
财务主管自我鉴定
2014/01/17 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis
angular异步验证器防抖实例详解
2022/03/31 Javascript