用Python实现电子邮件接收程序(POP3)
生活随笔
收集整理的這篇文章主要介紹了
用Python实现电子邮件接收程序(POP3)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從網絡上摘抄的代碼:
import poplib# 輸入郵件地址, 口令和POP3服務器地址: email = raw_input('Email: ') password = raw_input('Password: ') pop3_server = raw_input('POP3 server: ')# 連接到POP3服務器: server = poplib.POP3(pop3_server)# 可以打開或關閉調試信息: # server.set_debuglevel(1)# 可選:打印POP3服務器的歡迎文字: print(server.getwelcome())# 身份認證: server.user(email) server.pass_(password)# stat()返回郵件數量和占用空間: print('Messages: %s. Size: %s' % server.stat())# list()返回所有郵件的編號: resp, mails, octets = server.list()# 可以查看返回的列表類似['1 82923', '2 2184', ...] print(mails)# 獲取最新一封郵件, 注意索引號從1開始: index = len(mails) resp, lines, octets = server.retr(index)# lines存儲了郵件的原始文本的每一行, # 可以獲得整個郵件的原始文本: msg_content = '\r\n'.join(lines)# 稍后解析出郵件: msg = Parser().parsestr(msg_content)# 可以根據郵件索引號直接從服務器刪除郵件: # server.dele(index)# 關閉連接: server.quit()接下來一句一句分析:
email = raw_input('Email: ')效果是屏幕顯示“Email:”提示用戶進行輸入,然后將從鍵盤讀取的輸入寫入email這個變量中。
raw_input() 是什么?
與input() 類似,但input() 要求輸入形式是字符串格式,也就是要用雙引號引起來,而raw_input() 不需要。
list() 方法返回郵件數量和每個郵件的大小。我猜resp是索引號,mails是郵件內容,octets是??
msg_content = '\r\n'.join(str(lines))\r\n是windows下的換行符,而.joint( a string ) 的作用是將字符串中每兩個字符之間都插入這樣的一個換行符。最終一串字符串變成一長列字符串。
for header in ['From', 'To', 'Subject']:value = msg.get(header, '')-對于第一句,將列表中的三個字符串依次賦給header變量,循環運行語句塊內的操作。
-對于第二句,從字典msg中查找“header”所代表的關鍵字所對應的值賦給value;若沒有找到“header”所代表的關鍵字則返回’ ‘。
總結
以上是生活随笔為你收集整理的用Python实现电子邮件接收程序(POP3)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java与python之间的混合开发
- 下一篇: Git小技巧——修改commit的注释内