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

 更新时间:2017年10月01日 08:59:45   作者:深呼吸再出击  
下面小编就为大家带来一篇python获取外网IP并发邮件的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

第一步:通过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绘制分形图案探索无限细节和奇妙之美

    本文将介绍如何使用Python绘制各种分形图案,包括分形树、科赫曲线、曼德博集合等。通过本文读者可以了解分形图案的基本概念和构造方法,并学会使用Python绘制出各种精美的分形图案。本文还提供了具体的代码示例和实践案例,帮助读者更好地理解分形图案的奇妙之美
    2023-04-04
  • Python二叉搜索树与双向链表转换实现方法

    Python二叉搜索树与双向链表转换实现方法

    这篇文章主要介绍了Python二叉搜索树与双向链表转换实现方法,涉及Python二叉搜索树的定义、实现以及双向链表的转换技巧,需要的朋友可以参考下
    2016-04-04
  • 自适应线性神经网络Adaline的python实现详解

    自适应线性神经网络Adaline的python实现详解

    这篇文章主要介绍了自适应线性神经网络Adaline的python实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 教你使用Pycharm配置远程Jupyter

    教你使用Pycharm配置远程Jupyter

    在pycharm里配置了远程的Python解释器,然后在使用过程中,发现pycharm原来是可以使用Jupyter的文件,而且还可以配置远程的Jupyter环境,今天试了一下,一开始还是走了一些坑,今天梳理一下,需要的朋友可以参考下
    2022-05-05
  • python 装饰器带参数和不带参数步骤详解

    python 装饰器带参数和不带参数步骤详解

    装饰器是Python语言中一种特殊的语法,用于在不修改原函数代码的情况下,为函数添加额外的功能或修改函数的行为,这篇文章主要介绍了python装饰器带参数和不带参数的相关知识,需要的朋友可以参考下
    2024-05-05
  • 在python中利用try..except来代替if..else的用法

    在python中利用try..except来代替if..else的用法

    今天小编就为大家分享一篇在python中利用try..except来代替if..else的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python入门教程(十一)Python中的运算符

    Python入门教程(十一)Python中的运算符

    这篇文章主要介绍了Python入门教程(十一)Python中的运算符,Python是一门非常强大好用的语言,也有着易上手的特性,本文为入门教程,需要的朋友可以参考下
    2023-04-04
  • python数字图像处理图像的绘制详解

    python数字图像处理图像的绘制详解

    这篇文章主要为大家介绍了python数字图像处理图像的绘制示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python实现exe小工具的详细代码

    Python实现exe小工具的详细代码

    Python exe工具是一种将Python代码打包成可执行文件的工具,它可以将Python程序转换为独立的可执行文件,使得在没有安装Python解释器的环境中也能够运行Python程序,本文给大家介绍了Python实现exe小工具的详细代码,需要的朋友可以参考下
    2024-04-04
  • 全面了解django的缓存机制及使用方法

    全面了解django的缓存机制及使用方法

    这篇文章主要介绍了全面了解django的缓存机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论