2011-11-16 60 views
3

我知道必須有一個簡單的答案,但我找不到任何地方。如何將電子郵件標記爲未讀?我知道我可以打開只讀流,但在某些場合我需要操作消息(標記爲已見,移動到不同的文件夾等),所以我需要讀取/寫入流。我也知道「已見」標誌以及如何將其刪除。 那麼有沒有辦法在電子郵件被標記爲已讀之後將其標記爲未讀?將郵件標記爲未讀

編輯:按照要求,這是從郵件

imap_clearflag_full($this->mbox, $mId, '\\Seen', ST_UID); 
+0

如果你使用了'imap_' *功能,我想你想'imap_clearflag_full() 'http://php.net/imap_clearflag_full並取消設置'\ Seen'標誌。雖然我只使用PHP的郵件功能,但在答案中沒有足夠的信心。 – artlung

+0

不幸的是,這並沒有刪除Seen標誌,但不影響讀取/未讀。感謝評論,雖然 – clang1234

+0

也許http://stackoverflow.com/questions/1604016/imap-in-php-marking-a-message-unread-unseen有幫助嗎? – artlung

回答

0

去掉「看」標誌代碼您是否嘗試過:

imap_clearflag_full($imap_connection, $message, "//Seen"); 

不要忘記關閉連接。

這裏沒有測試,但是可能工作..

+0

試過了。事實上,我在我的問題中具有確切的功能。除非你建議「//看到」會提供與「\\看到」不同的結果。 – clang1234

+0

是的,「//看到」預計會重置「\\ Seen」標誌。您是否嘗試過我發佈的確切代碼? –

1

這適用於Gmail的,經覈實:

imap_clearflag_full($mbox, $i, "\\Seen \\Recent"); 
imap_expunge($mbox); 
+0

這對我有效。嘗試使用「//看到」和「//看到」不起作用。現在「\\看到」哪個作品!謝謝。 –

相關問題