第一步:通过ip138来爬取外网ip
第二步:通过python的smtplib模块和email来发送邮件,具体用法去网上搜索,
下面是代码示例:
#!/usr/bin/env python#coding:utf-8 import 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!"
以上这篇python获取外网IP并发邮件的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VEVB武林网。
新闻热点
疑难解答