python获取外网IP并发邮件的实现方法
作者:深呼吸再出击 发布时间:2023-01-07 13:55:33
标签: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!"
来源:http://ckl893.blog.51cto.com/8827818/1770030
0
投稿
猜你喜欢
- 代码如下: Function NumberSplit(num) Dim i,length length=Len(num) For i=1 T
- 首先看下Delphi单元文件基本结构:unit Unit1; //单元文件名 interface //这是接口关键
- 前面的学习中,我们已经知道了两种python的数据类型:int和str。再强调一下对数据类型的理解,这个世界是由数据组成的,数据可能是数字(
- 新手,参考了以下链接:python opencv在图像上画矩形(已验证)本文可以实现在指定图片上动态绘制圆和矩形。import cv2imp
- arguments.callee关于callee的解释:callee 是 arguments 对象的一个属性。可以用于引用该函数的函数体内当
- 有时你需临时搭建一个简单的 Web Server,但你又不想去安装 Apache、Nginx 等这类功能较复杂的 HTTP 服务程序时。这时
- 前言终于能够挤出一点时间来总结最近学到的一些技术知识点了,博主这两周被居家隔离-集中隔离-居家隔离来回折腾,现在终于是得到解放能够空出的时间
- 本文最主要参考的是这一篇,后端也是用django来完成。大文件上传(秒传/断点续传)_使用Vue-Simple-Uploader插件 --V
- table a(id, type):id type --------------------
- zyw147 提出问题:ASP读取指定xml 的节点?怎么用ASP《不是JS》取出指定的节点? 例如我想取出北京,我在ASP客户端提交的是
- 本文实例讲述了Selenium鼠标与键盘事件常用操作方法。分享给大家供大家参考,具体如下:Selenium是一个用于Web应用程序测试的工具
- 前言help(argparse)查看说明文档,“argparse - Command-line parsing libr
- 本文实例讲述了Django框架首页和登录页分离操作。分享给大家供大家参考,具体如下:1.登录模板login.html<!DOCTYPE
- 在Python中,任何类型的对象都可以做真值测试,并且保证返回True或者False。以下几种值(不论类型)在真值测试中返回False:1.
- 本文实例讲述了Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法。分享给大家供大家参考,具体如下:做个笔记(pytho
- 这篇文章主要介绍了python线程信号量semaphore使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 痛点在传统的工作中,发送会议纪要是一个比较繁琐的任务,需要手动输入邮件内容、收件人、抄送人等信息,每次发送都需要重复操作,不仅费时费力,而且
- 由于tornado内置的AsyncHTTPClient功能过于单一, 所以自己写了一个基于Tornado的HTTP客户端库, 鉴于自己多处使
- python 类的继承对于许多文章讲解python类的继承,大多数都是说一些什么oop,多态等概念,我认为这样可能对有一定基础的开发者帮助不
- 前言python对动态验证码、滑动验证码的降噪和识别,在各种自动化操作中,我们经常要遇到沿跳过验证码的操作,而对于验证码的降噪和识别,的确困