[英]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.