最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)下載pop3郵件保存到本地

 更新時間:2018年06月19日 16:15:10   作者:julius_lee  
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)下載pop3郵件保存到本地的代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

利用python進行unix管理一書中有一個登陸下載郵箱的腳本,實練了下還不錯,對于郵箱備份來說還是比較快捷的,但是其命名方式是以編號和 文件大小來命名的,不方便閱讀,于是進行了改進修改為發(fā)件人郵件地址命名,可能由于跨度時間較長,郵件排版有改變,有些郵件獲取發(fā)件人的時候不能正確匹配。

1、命名方式是以編號和 文件大小來命名

#!/usr/bin/env python 
#-*- coding: utf-8 -*- 
#filename:receive_pop3_email_download.py 
 
import poplib 
 
username = 'dxx_study' 
passwd = 'xXXXXXXX' 
 
mail_server = 'pop.163.com' 
 
p = poplib.POP3(mail_server) 
p.user(username) 
p.pass_(passwd) 
for msg_id in p.list()[1]: 
  print msg_id 
  outf = open('%s.eml' % msg_id, 'w') 
  outf.write('\n'.join(p.retr(msg_id)[1])) 
  outf.close() 
p.quit() 

輸出:

>>> ================================ RESTART ================================ 
>>>  
1 6189 
2 14284 
3 1712 
4 24912 
5 129052 
6 1399 
7 23298 
8 47902 
9 2334 
10 48887 
11 1081 
12 34930 
13 2098 
14 26316 
15 32381 
16 1822 

2、發(fā)件人郵件地址命名

#!/usr/bin/env python 
#-*- coding: utf-8 -*- 
#filename:receive_pop3_email.py 
 
import poplib, re 
 
username = 'dxx_study' 
passwd = 'xuXXXXXu' 
 
mail_server = 'pop.163.com' 
 
p = poplib.POP3(mail_server) 
 
#p.set_debuglevel(2)#設(shè)置調(diào)試信息打印級別 
#s = p.getwelcome()#打印歡迎信息 
p.user(username) 
p.pass_(passwd) 
p.stat() 
#p.list()#返回收件箱郵件數(shù)目,郵件大小,與p.list()[0]相同 
#p.retr(42)#提取對應(yīng)郵件的內(nèi)容 
#print p.top(42,42)#提取對應(yīng)郵件,可以對內(nèi)容按行數(shù)提取 
#p.uidl()#Return message digest (unique id) list 
#p.list()[1]#依次返回每個郵件大小,如['1 6189', '2 14284', '3 1712',....] 
#p.retr(2)[0]#返回第二封個郵件14284 octets大小 
 
 
 
def file_name(text):#這個匹配效率比較低,值得改進 
  pattern = u"Sender: (.*)" 
  file_name = re.search(pattern, text, re.I) 
  if file_name == None: 
    exit 
  else: 
    return file_name.group(1) 
 
 
def download_mail(): 
  for msg_id in p.list()[1]: 
    retr = p.retr(msg_id)[1] 
    for i in range(0,len(retr)): 
      name = file_name(retr[i])#利用filename進行正則匹配獲取發(fā)件人 
      if name == None: 
        exit 
      else: 
        outf = open('%s.eml' % name, 'w') 
        outf.write('\n'.join(retr)) 
        outf.close() 
 
download_mail() 
p.quit() 

以上功能對于備份郵件還是比較有用的,因為附件也下載下來了。由于pop3郵件服務(wù)比較過時了,服務(wù)也不夠穩(wěn)定,目前采用IMAP的比較流行,后面有空再寫個支持后者的,能支持用戶自己輸入選擇,提取各個郵件客戶端的。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 異常處理的實例詳解

    Python 異常處理的實例詳解

    這篇文章主要介紹了Python 異常處理的實例詳解的相關(guān)資料,希望通過本文能幫助到大家掌握Python 異常的知識,需要的朋友可以參考下
    2017-09-09
  • Python中csv模塊的基本使用教程

    Python中csv模塊的基本使用教程

    csv文件使用逗號分割,是一種純文本格式,不能指定字體顏色等樣式,也不能指定單元格的寬高,不能合并單元格,沒有多個工作表等功能,可以使用Excel打,這篇文章主要給大家介紹了關(guān)于Python中csv模塊的基本使用教程,需要的朋友可以參考下
    2021-07-07
  • Django修改端口號與地址的三種方式

    Django修改端口號與地址的三種方式

    Django是一個開放源代碼的Web應(yīng)用框架,由Python寫成,下面這篇文章主要給大家介紹了關(guān)于Django修改端口號與地址的三種方式,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Python3多模式匹配問題的實現(xiàn)

    Python3多模式匹配問題的實現(xiàn)

    Aho-Corasick是一種高效的多模式字符串匹配算法,適用于敏感詞檢測、文本過濾等,本文就來介紹一下Python3多模式匹配,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • Python如何讀取base64圖片數(shù)據(jù)

    Python如何讀取base64圖片數(shù)據(jù)

    在Python中,使用base64模塊可以解碼Base64編碼的圖片數(shù)據(jù),首先需要去除Base64字符串的前綴,然后使用base64.b64decode()函數(shù)進行解碼,最后將解碼后的數(shù)據(jù)保存為圖片文件,適用于各種MIME類型的Base64編碼
    2024-09-09
  • Python環(huán)境搭建之OpenCV的步驟方法

    Python環(huán)境搭建之OpenCV的步驟方法

    本篇文章主要介紹了Python環(huán)境搭建之OpenCV的步驟方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 在Python中使用__slots__方法的詳細(xì)教程

    在Python中使用__slots__方法的詳細(xì)教程

    這篇文章主要介紹了在Python中使用__slots__方法的詳細(xì)教程,__slots__方法是Python的一個重要內(nèi)置類方法,代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)同時對數(shù)據(jù)做轉(zhuǎn)換和換算處理操作示例

    Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)同時對數(shù)據(jù)做轉(zhuǎn)換和換算處理操作示例

    這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)同時對數(shù)據(jù)做轉(zhuǎn)換和換算處理操作,涉及Python使用生成器表達式進行數(shù)據(jù)處理的相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • Django模板導(dǎo)入母版繼承和自定義返回Html片段過程解析

    Django模板導(dǎo)入母版繼承和自定義返回Html片段過程解析

    這篇文章主要介紹了Django模板導(dǎo)入母版繼承和自定義返回Html片段過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Django內(nèi)容增加富文本功能的實例

    Django內(nèi)容增加富文本功能的實例

    下面小編就為大家?guī)硪黄狣jango內(nèi)容增加富文本功能的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10

最新評論

晋江市| 南宫市| 新竹县| 大方县| 金平| 鞍山市| 天等县| 永吉县| 揭东县| 成都市| 谷城县| 长沙市| 石首市| 大冶市| 铜鼓县| 炎陵县| 奉化市| 贵南县| 敦煌市| 滨州市| 平乡县| 甘孜县| 余姚市| 洛川县| 容城县| 澄江县| 乐安县| 盐源县| 威宁| 灌阳县| 香河县| 安阳市| 酒泉市| 镇平县| 都匀市| 油尖旺区| 习水县| 东乡| 宁河县| 宣城市| 祁门县|