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之让人欢喜让人忧的迭代
Oct 02 Python
使用Python编写提取日志中的中文的脚本的方法
Apr 30 Python
python相似模块用例
Mar 04 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
Apr 11 Python
Python编程产生非均匀随机数的几种方法代码分享
Dec 13 Python
python实现文件助手中查看微信撤回消息
Apr 29 Python
Python中list的交、并、差集获取方法示例
Aug 01 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
Aug 23 Python
在Python中字符串、列表、元组、字典之间的相互转换
Nov 15 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
Pycharm连接远程服务器并远程调试的全过程
Jun 24 Python
pandas中pd.groupby()的用法详解
Jun 16 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读取csv实现csv文件下载功能
2013/12/18 PHP
php判断当前操作系统类型
2015/10/28 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
接收键盘指令的脚本
2006/06/26 Javascript
用正则获取指定路径文件的名称
2007/02/27 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
理解javascript异步编程
2016/01/27 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
图文介绍Vue父组件向子组件传值
2018/02/17 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
理解Python中的With语句
2015/02/02 Python
Python常用内置函数总结
2015/02/08 Python
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
如何用python实现一个HTTP连接池
2021/01/14 Python
pandas针对excel处理的实现
2021/01/15 Python
HTML5 Notification(桌面提醒)功能使用实例
2014/03/17 HTML / CSS
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
2014公司党员自我评价范文
2014/09/11 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
电子商务实训报告总结
2014/11/05 职场文书
写给医生的感谢信
2015/01/22 职场文书
驻村工作简报
2015/07/20 职场文书
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python