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 collections模块实例讲解
Apr 07 Python
详解Python中的__new__()方法的使用
Apr 09 Python
Python实现简单HTML表格解析的方法
Jun 15 Python
python生成IP段的方法
Jul 07 Python
python中子类调用父类函数的方法示例
Aug 18 Python
python快速建立超简单的web服务器的实现方法
Feb 17 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
python安装pywin32clipboard的操作方法
Jan 24 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
Python处理mysql特殊字符的问题
Mar 02 Python
pytorch SENet实现案例
Jun 24 Python
利用 Python 的 Pandas和 NumPy 库来清理数据
Apr 13 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中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
域名和cookie问题(域名后缀)
2012/10/10 PHP
PHP操作文件的一些基本函数使用示例
2014/11/18 PHP
php生成RSS订阅的方法
2015/02/13 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
javascript使用activex控件的代码
2011/01/27 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
jquery判断input值不为空的方法
2016/06/05 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
发布一款npm包帮助理解npm的使用
2019/01/03 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
[01:20:06]TNC vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
PyCharm在win10的64位系统安装实例
2017/11/26 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
python 地图经纬度转换、纠偏的实例代码
2018/08/06 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
寒假实习自荐信
2014/01/26 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
被告代理词范文
2015/05/25 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电