无法通过IMAP(GMAIL)获取已发送邮件中的未读邮件
如何获取Gmail已发送邮件箱中的未读邮件(即发送邮件的回复)
Gmail的已发送邮件箱里,单纯用UNSEEN搜索不到未读回复的原因是:你发送出去的邮件本身默认标记为已读,后续的回复会归到收件箱,但Gmail的对话分组会把回复和你发送的原始邮件关联起来。直接在已发送文件夹用UNSEEN筛选,找不到这些关联的未读对话。
解决方法是利用Gmail IMAP的扩展搜索语法X-GM-RAW,直接使用Gmail原生的搜索规则来筛选:
修改后的Python代码示例
# 选择已发送邮件箱 imap_client.select('"[Gmail]/Sent Mail"') # 使用Gmail原生搜索规则:在已发送邮件中找带有未读对话的邮件 result, data = imap_client.search(None, '(X-GM-RAW "in:sent is:unread")')
补充说明
X-GM-RAW是Gmail IMAP特有的扩展,允许你直接使用Gmail网页端的搜索语法作为筛选条件"in:sent is:unread"这个搜索规则会找出所有已发送邮件中,所属对话存在未读内容的邮件,也就是你要找的“发送邮件的回复”
内容的提问来源于stack exchange,提问作者DilLip_Chowdary
相关产品推荐
相关产品推荐

