使用Python下载/解析邮件
我正在开发一个电子邮件客户端,遇到了一个小问题。我不太确定怎么下载电子邮件并把它们保存到本地硬盘上。我已经能够通过IMAP4 SSL连接到服务器(下面的代码就是这样做的)。
import imaplib
server = imaplib.IMAP4_SSL('imap.gmail.com')
server.login('USER', 'PASS')
2 个回答
4
对于一些简单的使用例子,我觉得Doug Hellmann的“每周Python模块”能很快让人理解。特别是关于获取消息的那一部分。
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的教程。一般来说,这里是查找标准库模块教程的好地方。