使用Python下载/解析电子邮件

时间:2011-06-08 17:42:53

标签: python email download email-client gmail-imap

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

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

2 个答案:

答案 0 :(得分: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。同意this answer,阅读PyMOTW的教程。通常,它是检查标准库中模块的教程的好地方。

答案 1 :(得分:4)

对于简单的用法示例,我发现Doug Hellmann的“本周Python模块”非常快速地给出了很好的理解。请参阅专门获取消息部分。

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