2

我在 Python 3.3 中使用 poplib 从 gmail 帐户获取电子邮件,一切正常,除了使用该retr()方法检索邮件后未将邮件标记为已读,尽管文档中显示“检索整个邮件编号并设置它的可见标志。”

这是代码:

pop = poplib.POP3_SSL("pop.gmail.com", "995")
pop.user("recent:mymail@gmail.com")
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

1 回答 1

6

POP 协议没有“已读”或“未读”消息的概念;LIST 命令仅显示所有现有消息。如果服务器支持,您可能希望使用其他协议,例如 IMAP。

成功检索后,您可以使用 DELE 命令删除消息。只有在成功的 QUIT 命令之后,服务器才会真正删除它们。

于 2013-07-23T09:57:35.770 回答