使用Python3 poplib模塊刪除服務(wù)器多天前的郵件實現(xiàn)代碼
背景:
因為工作需要,公司給每個員工都分配了一個郵箱 公司的各種業(yè)務(wù)都通過郵箱發(fā)送。雖然給每個員工的電腦都設(shè)置pop3登錄但是他們的程序設(shè)定有保存服務(wù)器副本,所以大量郵件使得服務(wù)器存儲占用巨大。
刪除服務(wù)器上多天前的郵件
實現(xiàn):
使用 Python poplib 進(jìn)行刪除查看操作 使用email.parser 進(jìn)行內(nèi)容解析 使用 dateutil.parser 做郵件日期轉(zhuǎn)換代碼
# -*- coding: UTF-8 -*-import poplibimport datetimeimport dateutil.parserfrom email.parser import Parserfrom parser import ParserErrordef deleteMail(days = 30): mailServer = poplib.POP3(’mail.sunyieh.com’, 110) mailServer.user(’mis.cq@sunyieh.com’) mailServer.pass_(’password’) mStat = mailServer.stat() print(mStat )#連接狀態(tài) mailTotal = mStat[0]#郵件總數(shù) print('郵箱總郵件數(shù)量:{},占用{}b'.format(mStat[0],mStat[1])) print(mailServer.getwelcome()) # 使用list()返回所有郵件的編號,默認(rèn)為字節(jié)類型的串 resp, mails, octets = mailServer.list() print('響應(yīng)信息: ', resp) print('list方法返回數(shù)據(jù)大小(字節(jié)): {}b'.format( octets)) for i in range(mailTotal): resp, mailContent, octets = mailServer.retr(i+1) # 可以獲得整個郵件的原始文本: msg_content = Parser().parsestr(b’rn’.join(mailContent).decode('iso8859','')) dateStr = msg_content.get('Date','') print('日期字符串:',dateStr) try: maildate =dateutil.parser.parse(dateStr) # 判斷多少天前的郵件 if maildate.date() < datetime.datetime.now().date() - datetime.timedelta(days=days): print('正在刪除郵件 第{}封,郵件日期:{} {}'.format(i+1,maildate.date(),maildate.time())) mailServer.dele(i + 1) else: # 刪除完成 print('完成刪除,本次共計刪除{}封郵件!'.format(i)) break except ParserError: print('正在刪除郵件 第{}封,郵件日期:沒有'.format(i + 1)) mailServer.dele(i + 1) print('正在保存本次操作!') mailServer.quit() print('ok!')if __name__ == '__main__': deleteMail(30)
效果
到此這篇關(guān)于使用Python3 poplib模塊刪除服務(wù)器多天前的郵件的實現(xiàn)代碼的文章就介紹到這了,更多相關(guān)Python3 poplib模塊刪除郵件內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. IDEA設(shè)置編碼背景色的方法2. Javascript數(shù)組及類數(shù)組相關(guān)原理詳解3. javascript實現(xiàn)多邊形碰撞檢測4. php + ajax 實現(xiàn)的寫入數(shù)據(jù)庫操作簡單示例5. 圖文詳解如何在WordPress中嵌入iFrame6. Android studio 自動換行和取消自動換行操作7. python實現(xiàn)ftp文件傳輸功能8. python GUI庫圖形界面開發(fā)之PyQt5布局控件QHBoxLayout詳細(xì)使用方法與實例9. Python 運算符10. 編寫自己的php擴展函數(shù)
