Python 仅通过poplib从收件箱中选择邮件
我只需要使用poplib从gmail收件箱下载电子邮件。不幸的是,我看不到单独选择收件箱的选项,poplib也给我发送邮件的选项 如何仅从收件箱中选择电子邮件Python 仅通过poplib从收件箱中选择邮件,python,gmail,pop3,poplib,Python,Gmail,Pop3,Poplib,我只需要使用poplib从gmail收件箱下载电子邮件。不幸的是,我看不到单独选择收件箱的选项,poplib也给我发送邮件的选项 如何仅从收件箱中选择电子邮件 我不想使用任何特定于gmail的库。POP3没有“文件夹”的概念。如果gmail向你显示“已发送”和“已接收”的邮件,那么你真的别无选择,只能接收所有这些邮件 也许您最好使用IMAP4而不是POP3。Python的库可以与gmail的IMAP4服务器配合使用。此Java代码建议您可以选择一个特定的“文件夹”进行下载,即使使用POP3也是如
我不想使用任何特定于gmail的库。POP3没有“文件夹”的概念。如果gmail向你显示“已发送”和“已接收”的邮件,那么你真的别无选择,只能接收所有这些邮件
也许您最好使用IMAP4而不是POP3。Python的库可以与gmail的IMAP4服务器配合使用。此Java代码建议您可以选择一个特定的“文件夹”进行下载,即使使用POP3也是如此。同样,这是使用Java,而不是Python
我假设您已经启用了对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()
或者类似的事情。@Zachary:有帮助吗?