2013-07-23 39 views
2

我使用Python 3.3中的poplib從gmail帳戶中獲取電子郵件,並且一切運行良好,除了郵件在使用retr()方法檢索到郵件後未標記爲已讀,儘管事實上the documentation表示「檢索整個消息號碼其中,並設置其看到的標誌。」poplib標記爲

下面是代碼:

pop = poplib.POP3_SSL("pop.gmail.com", "995") 
pop.user("recent:[email protected]") 
pop.pass_("mypassword") 
numMessages = len(pop.list()[1]) 
for i in range(numMessages): 
    for j in pop.retr(i+1)[1]: 
     print(j) 
pop.quit() 

上午我做錯了什麼或做文檔在哪裏? (或者,我是否誤解了它?)

回答

4

POP協議沒有「讀取」或「未讀」消息的概念; LIST命令只顯示所有現有的消息。如果服務器支持,則可能需要使用其他協議,如IMAP。

使用DELE命令可以在成功檢索後刪除消息。只有在成功的QUIT命令後,服務器纔會真正刪除它們。

+0

我擔心你會說要使用IMAP,只是想相信我從文檔中讀到的內容。我猜「看到」是指從python看到的...謝謝! – Freonius