使用"Inbox" 对我来说可以通过 python3 和 imaplib 访问 GMail。以下是如何获取所有有效文件夹名称的列表并确保:
import imaplib
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('username', 'password')
print(mail.list())
对我来说,一些返回值是:"INBOX"(收件箱)、"PERSONAL"(标签)、"[Gmail]/Drafts"(GMail 草稿)、"[Gmail]/Sent Mail"(GMail 发送的项目)。
登录后,只需选择“收件箱”文件夹并使用查询搜索文件夹的内容。例如,这将返回"Inbox" 文件夹中电子邮件的主题列表:
# mail is the imap object from the previous listing
mail.select('"INBOX"')
result, data = mail.search(None, "ALL")
for e_id in data[0].split()[-10:]:
_, response = mail.fetch(e_id, '(body[header.fields (subject)])')
print(response[0][1][9:])
"[Gmail]/Drafts" 可能成功而 "[Gmail]/Sent Mail" 对您失败的原因是您没有引用包含空格和双引号的文件夹名称。在 python3 中你可以这样做:
# mail is the imap object from the previous listing
mail.select('"[Gmail]/Sent Mail"') # notice the double quotes as a part of the folder name
result, data = mail.search(None, "ALL")