>  기사  >  백엔드 개발  >  Python은 외부 네트워크 IP를 얻고 이메일을 보내는 방법을 구현합니다.

Python은 외부 네트워크 IP를 얻고 이메일을 보내는 방법을 구현합니다.

黄舟
黄舟원래의
2017-10-09 10:38:562383검색

아래 편집기는 외부 네트워크 IP를 얻고 Python으로 이메일을 보내는 구현 방법을 제공합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 에디터를 따라가서 함께 살펴볼까요

첫 번째 단계: ip138을 통해 외부 네트워크 IP를 크롤링

두 번째 단계: 파이썬의 smtplib 모듈과 이메일을 통해 이메일 보내기. 온라인으로 검색하려면

다음은 코드 예입니다.


#!/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[&#39;Subject&#39;] = sub
 msg[&#39;From&#39;] = me
 msg[&#39;To&#39;] = ";".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!"

위 내용은 Python은 외부 네트워크 IP를 얻고 이메일을 보내는 방법을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.