使用Python下载/解析邮件

3 投票
2 回答
10967 浏览
提问于 2025-04-16 19:11

我正在开发一个电子邮件客户端,遇到了一个小问题。我不太确定怎么下载电子邮件并把它们保存到本地硬盘上。我已经能够通过IMAP4 SSL连接到服务器(下面的代码就是这样做的)。

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

2 个回答

4

对于一些简单的使用例子,我觉得Doug Hellmann的“每周Python模块”能很快让人理解。特别是关于获取消息的那一部分。

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

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的教程。一般来说,这里是查找标准库模块教程的好地方。

撰写回答