码迷,mamicode.com
首页 > 编程语言 > 详细

python获取外网IP并发邮件

时间:2016-05-04 19:26:16      阅读:322      评论:0      收藏:0      [点我收藏+]

标签: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!"


本文出自 “深呼吸再出击” 博客,请务必保留此出处http://ckl893.blog.51cto.com/8827818/1770030

python获取外网IP并发邮件

标签:python发邮件

原文地址:http://ckl893.blog.51cto.com/8827818/1770030

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!