簡體   English   中英

在Gmail(imaplib)上標記為不可見

[英]Mark as unseen on Gmail (imaplib)

我正在嘗試將電子郵件標記為在Gmail服務器上未顯示。

我正在使用以下命令:

res, data = mailbox.uid('STORE', uid, '-FLAGS', '(\Seen)')

一切正常,但是當我使用網絡瀏覽器對其進行檢查時,它仍標記為可見。 當我檢查標志時,這是我得到的:

 b'46 (FLAGS (-FLAGS \\Seen))'

我已經在這個問題上看到了多個問題,但是沒有一個建議的解決方案起作用。

只需提一下,我將使用以下方式添加此電子郵件:

mailbox.append(db_email.folder, "-FLAGS \Seen", time.mktime(db_email.date.timetuple()), mail.as_bytes())

但是標志參數-FLAGS \\Seen沒有任何作用,因為當我不傳遞標志參數時它是相同的。

另外,我還仔細檢查了給定郵件文件夾的uid ,它與適當的電子郵件匹配。

似乎您對APPEND上的標志有誤解。

通過執行APPEND folder (-FLAGS \\Seen) ...您實際上創建了帶有兩個標志的消息:標准\\Seen標志和非標准的-FLAGS標志。

要創建不帶\\ Seen標志的消息,只需將()用作APPEND的標志列表。

-FLAGS是STORE的子命令,表示從當前列表中刪除這些標志。 相反, +FLAGS會將這些標志添加到當前列表中。 普通的FLAGS覆蓋當前列表。

另外,如果確實通過IMAP連接刪除了\\Seen標志,則可能需要一些時間才能顯示在GMail WebUI中。 您可能需要刷新或切換文件夾才能進行更改。

注意:您沒有保護反斜杠。 \\S不是合法的轉義序列,因此會通過,但是您應該使用雙反斜杠( '\\\\Seen' )或原始字符串( r'\\Seen'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM