使用imaplib获取电子邮件但不要将其标记为SEEN

Pan*_*Jee 23 python gmail imaplib

我想从用户的收件箱中解析一些电子邮件,但是当我这样做时:

typ, msg_data = imap_conn.fetch(uid, '(RFC822)')
Run Code Online (Sandbox Code Playgroud)

它将电子邮件标记为SEEN或阅读.这不是所需的功能.你知道我怎么能把电子邮件保持在以前的凝视中看到或不看?

小智 39

read_only选择文件夹时,您也可以设置为true:

imap_conn.select('Inbox', readonly=True)
Run Code Online (Sandbox Code Playgroud)

  • 如果您出于其他原因要修改文件夹(例如,删除由于邮件是垃圾邮件而引起关注的某些邮件),则此方法不合适。 (2认同)

ars*_*ars 20

以下应该有效:

typ, msg_data = imap_conn.fetch(uid, '(BODY.PEEK[HEADER])')
Run Code Online (Sandbox Code Playgroud)

BODY.PEEK[TEXT]

  • 只需`BODY.PEEK[]` 获取整个消息而不修改`\Sent`。 (2认同)