日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用Python实现电子邮件接收程序(POP3)

發布時間:2024/3/24 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用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() 不需要。

resp, mails, octets = server.list()

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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。