2015-10-21 112 views
0
_imapSw.WriteLine("$ STATUS INBOX (unseen)"); 
_imapSw.WriteLine("$ SELECT INBOX"); 
_imapSw.Flush(); 

得到未看到的電子郵件數。我想將電子郵件標記爲已讀。請告訴我命令將第一封電子郵件標記爲已讀。 `使用imap協議將電子郵件標記爲已讀Tcpclient

_imapSw.WriteLine(「$ FETCH」+ index +「(body [header.fields(from subject date)])」); _imapSw.WriteLine(「$ FETCH」+ index +「body [text]」);`

我可以獲取電子郵件標題和正文,但這不會將電子郵件標記爲已讀。

+0

你能告訴我們更多的代碼? – Marusyk

+0

'public int MailUnreadCount() { _imapSw.WriteLine(「$ STATUS INBOX(unseen)」); _imapSw.Flush(); string res = Response(); Console.WriteLine(res); 匹配m = Regex.Match(res,「[0-9] * [0-9]」); return Convert.ToInt32(m.ToString()); ();}} public void SelectInbox() '{ _imapSw.WriteLine(「$ SELECT INBOX」); _imapSw.Flush(); Response(); }'我需要imap命令來標記看到的標誌 – Nasir

+1

請使用您的問題上的編輯鏈接添加更多信息 – Marusyk

回答

0

選擇收件箱時,會得到第一封未讀/不可見郵件的ID。

* FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk $Junk Junk $MDNSent $F 
orwarded) 
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk $Junk Jun 
k $MDNSent $Forwarded \*)] Flags permitted. 
* 8421 EXISTS 
* 0 RECENT 
* OK [UNSEEN 3395] First unseen. 
* OK [UIDVALIDITY 47932578432] UIDs valid 
* OK [UIDNEXT 46214] Predicted next UID 
* OK [HIGHESTMODSEQ 1377] Highest 

然後你可以使用存儲命令將其標記爲已讀:

_imapSw.WriteLine("$ STORE 3395 +flags \\seen"); 
_imapSw.Flush(); 
+0

它的工作很好。我只是改變了\\看到。謝謝 – Nasir

+0

是的,你說得對。我已經在我的答案中解決了它。 –

相關問題