Home > Article > Backend Development > Python implements a method to obtain external network IP and send emails
The following editor will bring you an implementation method of obtaining external network IP and sending emails in Python. The editor thinks it’s pretty good, so I’ll share it with you now and give it as a reference. Let’s follow the editor and take a look.
The first step:Crawl the external network ip through ip138
Step 2: Send emails through python’s smtplib module and email. Search online for specific usage.
The following is a code example:
#!/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!"
The above is the detailed content of Python implements a method to obtain external network IP and send emails. For more information, please follow other related articles on the PHP Chinese website!