3

我正在开发一个电子邮件客户端,遇到了一个小问题。我不确定如何下载电子邮件并将它们保存到本地硬盘。我能够使用 IMAP4 SSL(使用下面的代码)连接到服务器。

import imaplib
server = imaplib.IMAP4_SSL('imap.gmail.com')
server.login('USER', 'PASS')
4

2 回答 2

8

您可以使用 列出邮箱中的目录IMAP4.list。要真正从目录中获取消息,请使用IMAP4.select,然后使用IMAP4.search,并遍历它返回的 id 列表。在您的情况下,您可以执行以下操作:

server.select('[Gmail]/All Mail')
resp, items = server.search(None, "(UNSEEN)")
for mail in items[0].split():
    resp, data = m.fetch(mail, '(RFC822)')
    body = data[0][1]
    print body

请务必阅读文档:http: //docs.python.org/library/imaplib.html。也同意这个答案,通读 PyMOTW 的教程。一般来说,这是检查标准库中模块教程的好地方。

于 2011-06-08T18:41:16.220 回答
4

对于简单的使用示例,我发现 Doug Hellmann 的“Python Module of the Week”很快就给出了很好的理解。具体参见获取消息部分。

http://www.doughellmann.com/PyMOTW/imaplib/

于 2011-06-08T18:45:52.257 回答