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

yipeiwu_com7年前Python基础

第一步:通过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设计】。

相关文章

Flask框架请求钩子与request请求对象用法实例分析

Flask框架请求钩子与request请求对象用法实例分析

本文实例讲述了Flask框架请求钩子与request请求对象。分享给大家供大家参考,具体如下: 请求钩子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请...

解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题

解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题

问题产生: pycharm→settings→Project interpreter→下载matplotlib包 运行代码,出现以下提示:找不到‘matplotlib'模块ModuleN...

实例解析Python的Twisted框架中Deferred对象的用法

实例解析Python的Twisted框架中Deferred对象的用法

Deferred对象结构 Deferred由一系列成对的回调链组成,每一对都包含一个用于处理成功的回调(callbacks)和一个用于处理错误的回调(errbacks)。初始状态下,de...

python轻松查到删除自己的微信好友

python轻松查到删除自己的微信好友

前言 相信各位一定有收到过这样的群发短信,据说还被归类为玩转微信的五大技巧之一╮(╯▽╰)╭但,其实,只要跑一下脚本,就轻松找出删除自己的好友(轻松摔碎玻璃心,逃 原理 新建群组,如果...

Django 导出项目依赖库到 requirements.txt过程解析

虚拟环境: 使用 pip freeze pip freeze > requirements.txt # 这种方式推荐配合 virtualenv ,否则会把整个环境中的包都列...