国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現讀取郵箱中的郵件功能示例【含文本及附件】

2020-01-04 17:07:39
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現讀取郵箱中的郵件功能。分享給大家供大家參考,具體如下:

#-*- encoding: utf-8 -*-import sysimport localeimport poplibfrom email import parserimport emailimport string# 確定運行環境的encoding__g_codeset = sys.getdefaultencoding()if "ascii"==__g_codeset:  __g_codeset = locale.getdefaultlocale()[1]#def object2double(obj):  if(obj==None or obj==""):    return 0  else:    return float(obj)  #end if#def utf8_to_mbs(s):  return s.decode("utf-8").encode(__g_codeset)#def mbs_to_utf8(s):  return s.decode(__g_codeset).encode("utf-8")#host = 'pop.exmail.qq.com'username = 'user1@xxxx.cn'password = 'password'pop_conn = poplib.POP3_SSL(host)pop_conn.user(username)pop_conn.pass_(password)#Get messages from server:# 獲得郵件messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]#print messages#print "--------------------------------------------------"# Concat message pieces:messages = ["/n".join(mssg[1]) for mssg in messages]#print messages#Parse message intom an email object:# 分析messages = [parser.Parser().parsestr(mssg) for mssg in messages]i = 0for index in range(0,len(messages)):  message = messages[index];  i = i + 1;  subject = message.get('subject')  h = email.Header.Header(subject)  dh = email.Header.decode_header(h)  subject = unicode(dh[0][0], dh[0][1]).encode('utf8')  mailName = "mail%d.%s" % (i, subject)  f = open('%d.log'%(i), 'w');  print >> f, "Date: ", message["Date"]  print >> f, "From: ", email.utils.parseaddr(message.get('from'))[1]  print >> f, "To: ", email.utils.parseaddr(message.get('to'))[1]  print >> f, "Subject: ", subject  print >> f, "Data: "  j = 0  for part in message.walk():    j = j + 1    fileName = part.get_filename()    contentType = part.get_content_type()    mycode=part.get_content_charset();    # 保存附件    if fileName:      data = part.get_payload(decode=True)      h = email.Header.Header(fileName)      dh = email.Header.decode_header(h)      fname = dh[0][0]      encodeStr = dh[0][1]      if encodeStr != None:        fname = fname.decode(encodeStr, mycode)      #end if      fEx = open("%s"%(fname), 'wb')      fEx.write(data)      fEx.close()    elif contentType == 'text/plain':# or contentType == 'text/html':      #保存正文      data = part.get_payload(decode=True)      content=str(data);      if mycode=='gb2312':        content= mbs_to_utf8(content)      #end if      nPos = content.find('降息')      print("nPos is %d"%(nPos))      print >> f, data    #end if  #end for  f.close()#end forpop_conn.quit()

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 元谋县| 公主岭市| 花莲县| 五家渠市| 江门市| 县级市| 安平县| 从江县| 微山县| 安国市| 合江县| 醴陵市| 临西县| 会昌县| 方正县| 隆化县| 云梦县| 长葛市| 乐安县| 大化| 兰溪市| 长子县| 水城县| 沈丘县| 北票市| 昔阳县| 宁国市| 柯坪县| 广丰县| 盐边县| 长宁县| 额济纳旗| 来安县| 广元市| 通辽市| 丹凤县| 图木舒克市| 桐梓县| 长葛市| 香格里拉县| 峨山|