我正在尝试在“已发送”中搜索消息(实际上我对两者都感兴趣)但我只收到传入消息。 目前我有
imap_conn.select()
str_after = after.strftime('%d-%b-%Y')
typ, msg_ids = imap_conn.search('UTF-8','SINCE',str_after)
这给出了等效的结果
imap_conn.select('INBOX')
当我用 ALL 或 SENT 替换 INBOX 时,我得到: 命令 SEARCH 在 AUTH 状态下是非法的,只允许在 SELECTED 状态下
最佳答案
伙计,错误信息太具有误导性了。它真正的意思是您试图选择一个无效的文件夹名称,因此搜索操作失败。
要验证/检查当前有效的文件夹/标签,请执行以下操作:
使用 ImapClient
from imapclient import IMAPClient
## Connect, login and select the INBOX
imap_conn = IMAPClient('imap.gmail.com', use_uid=True, ssl=ssl)
imap_conn.login(USERNAME, PASSWORD)
print(imap_conn.list_folders())
使用 imaplib
import imaplib
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('myusername@gmail.com', 'mypassword')
print(mail.list())
在我看到它期望的文件夹名称后,一切正常。
关于python - 我无法使用 Python 在 Gmail 中搜索已发送的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3267234/