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代码混合编程的方法
May 19 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
Feb 14 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
May 31 Python
Python多线程threading和multiprocessing模块实例解析
Jan 29 Python
python 信息同时输出到控制台与文件的实例讲解
May 11 Python
python读取各种文件数据方法解析
Dec 29 Python
Python零基础入门学习之输入与输出
Apr 03 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 Python
python将类似json的数据存储到MySQL中的实例
Jul 12 Python
在Python中等距取出一个数组其中n个数的实现方式
Nov 27 Python
pytorch实现onehot编码转为普通label标签
Jan 02 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 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重定向的三种方法分享
2012/02/22 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
javascript new一个对象的实质
2010/01/07 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
Jquery easyui开启行编辑模式增删改操作
2016/01/14 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
详解pyinstaller selenium python3 chrome打包问题
2019/10/18 Python
matplotlib quiver箭图绘制案例
2020/04/17 Python
python mysql中in参数化说明
2020/06/05 Python
最新的大学生找工作自我评价
2013/09/29 职场文书
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
利用Nginx代理如何解决前端跨域问题详析
2021/04/02 Servers
mysql事务对效率的影响分析总结
2021/10/24 MySQL
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL
Golang 并发下的问题定位及解决方案
2022/03/16 Golang
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL
如何Tomcat中使用ipv6地址
2022/05/06 Servers