我只需要使用poplib.Unfortunately从gmail收件箱下载电子邮件,我看不到任何单独选择收件箱的选项,poplib也会给我从已发送项目中下载电子邮件。
如何仅从收件箱中选择电子邮件?
我不想使用任何gmail特定的库。
发布于 2009-03-09 06:09:33
POP3没有“文件夹”的概念。如果gmail同时显示“已发送”和“已接收”邮件,那么除了接收所有这些邮件之外,你别无选择。
也许您最好使用IMAP4而不是POP3。Python拥有可以与gmail的IMAP4服务器协同工作的库。
发布于 2009-03-09 18:09:56
我假设您已经启用了对您的GMail帐户的POP3/IMAP访问。
以下是示例代码:
import imaplib
conn= imaplib.IMAP4_SSL('imap.googlemail.com')
conn.login('yourusername', 'yourpassword')
code, dummy= conn.select('INBOX')
if code != 'OK':
raise RuntimeError, "Failed to select inbox"
code, data= self.conn.search(None, ALL)
if code == 'OK':
msgid_list= data[0].split()
else:
raise RuntimeError, "Failed to get message IDs"
for msgid in msgid_list:
code, data= conn.fetch(msgid, '(RFC822)')
# you can also use '(RFC822.HEADER)' only for headers
if code == 'OK':
pass # your code here
else:
raise RuntimeError, "could not retrieve msgid %r" % msgid
conn.close()
conn.logout()或者像这样的东西。
发布于 2009-03-09 06:18:44
这段Java代码建议您可以选择一个特定的“文件夹”进行下载,即使使用POP3也是如此。同样,这使用的是Java,而不是Python,所以是YMMV。
How to download message from GMail using Java (blog post discusses pushing content into a Lucene search engine locally)
https://stackoverflow.com/questions/625148
复制相似问题