且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Gmail API将所有邮件标记为已读

更新时间:2023-10-28 15:09:58

如果要将收件箱中的所有内容绝对标记为已读,请在登录并INBOX

后执行此imap命令

tag STORE 1:* +FLAGS (Seen)

您可以使用imaplib、任何套接字库或仅支持SSH的TCP程序(如socatopenssl s_client)来完成此操作。

以下是用Gmail标记所有已读邮件所需的命令的文字记录:

$ openssl s_client -connect imap.gmail.com:993 -crlf
* OK Gimap ready for requests from 208.65.73.143 f185mb90387173ioe

a LOGIN [username] [password]
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT
a OK [username] [name] authenticated (Success)

b SELECT INBOX
* FLAGS (Answered Flagged Draft Deleted Seen $Phishing $Forwarded Yellow $NotPhishing)
* OK [PERMANENTFLAGS (Answered Flagged Draft Deleted Seen $Phishing $Forwarded Yellow $NotPhishing *)] Flags permitted.
* OK [UIDVALIDITY 7] UIDs valid.
* 3617 EXISTS
* 0 RECENT
* OK [UIDNEXT 39807] Predicted next UID.
* OK [HIGHESTMODSEQ 4076284]
b OK [READ-WRITE] INBOX selected. (Success)

c STORE 1:* +FLAGS (Seen)
* 1 FETCH (FLAGS (Seen))
* 2 FETCH (FLAGS (Seen))
...
* 3617 FETCH (FLAGS (Seen))
c OK Success

d LOGOUT
* BYE LOGOUT Requested
d OK 73 good day (Success)

如果您有很多消息,您可能希望将+FLAGS.SILENTSTORE命令一起使用,这不会导致它将结果回显给您。