第一步:通过ip138来爬取外网ip

第二部:通过python的smtplib模块和email来发送邮件,具体用法去网上搜索,下面是代码示例:

#!/usr/bin/env python#coding:utf-8import urllib2import reimport smtplibfrom email.MIMEText import MIMETextfrom email.Header import Header###########################################get ip addressurl = "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, etcmail_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 processif __name__ == "__main__":  mailto_list=["41145XXXX@qq.com"]  if send_mail(mailto_list, "你的最新IP地址", ipcode):    print "Send success!"  else:    print "Send failed!"