ios - Gmail 的收件箱文件夹路径?

标签 ios path gmail gmail-imap inbox

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

最佳答案

使用 "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 已发送邮件)。

登录后,只需选择“收件箱”文件夹并使用查询搜索文件夹的内容。例如,这将返回 “收件箱” 文件夹中电子邮件的主题列表:

# 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")

关于ios - Gmail 的收件箱文件夹路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11946085/

相关文章:

ios - 获取整数的相同实例

ios - 如何在 Swift Struct 中存储多个回溯日期?

python - open() 和 path.open() 的区别

ios - 如何发送带有附件的GTLRGmail_Message

android - 如何跟踪 Gmail 用户的在线状态?

ios - 当我关闭模式窗口时,我看到前一个窗口的导航栏

Python - 如何在 Ubuntu 上的根文件夹中打开或创建文件?

Delphi - 比较两个路径名,一个是 UNC,一个是指定驱动器号的路径名

php - 有什么方法可以针对各种错误直接发送 'returned' 电子邮件吗?

ios - 如何让我的 RefreshControl 在 ViewDidAppear 期间出现