1

我正在开发一个应该阅读和发送邮件的 iOS 应用程序。为了访问收件箱文件夹,我使用了“收件箱”。它适用于 Yahoo 和 AOL,但不适用于 Gmail。有人告诉我尝试“[Gmail]”、“[Gmail]/All Mails”、“Gmail/[All Mails]”。我已经尝试了所有这些,但没有一个有效。重要的是,如果我写“[Gmail]/Spam”或“[Gmail]/Trash”,它可以正常工作。所以重点是我可以访问除收件箱以外的所有文件夹的邮件。如何访问 gmail 的收件箱文件夹?

4

2 回答 2

1

使用"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")
于 2012-09-17T05:39:32.900 回答
1

解决了这个问题

"[Gmail]/All Mail"
于 2012-09-18T04:29:24.790 回答