2010-08-22 3 views
9

imap 또는 다른 것을 사용하여 gmail에서받은 편지함의 읽지 않은 항목 수를 어떻게 알 수 있고 C# WinForms의 라벨에 표시 할 수 있습니까?IMAP을 사용하는 Gmail의 전자 메일 수를 카운트

나는 원자 피드를 사용했지만, 결코 그것에게

다음

을 얻을 수는 도움이된다면 내가 같이 할 것입니다 :

Inbox(1)

당신은 아마 모든 메시지를 찾으려면
+0

질문에서 대답을 제거하고 실제 답변으로 게시하십시오. 감사! – Timwi

답변

6

UNSEEN 플래그가 설정되었습니다.

Imap imap = new Imap(); 
/* connect, login, etc. */ 
imap.Connect(...); 
/* fill login and select folder code */ 

List<long> unseenList = imap.SearchFlag(Flag.Unseen); 

// now you can get the count from unseeList 
int unread = unseenList.Count; 
+0

좀 더 자세히 설명해 주시겠습니까? – Shane121

+1

@user 편집 된 답변보기 – quantumSoup

+0

도움을 주셔서 감사합니다. 라벨에 dis를 표시하는 방법은 무엇입니까? – Shane121

9

여기

해결 내가 ImapX 구성 요소에 사용되는 코드입니다 :

ImapX.ImapClient client = new ImapX.ImapClient("imap.gmail.com", 993, true); 
     bool result = false; 

     result = client.Connection(); 
     if (result) 
      MessageBox.Show("Connection Established"); 

     result = client.LogIn(textBox1.Text, textBox2.Text); 
     if (result) 
     { 
      MessageBox.Show("Logged in"); 
      ImapX.FolderCollection folders = client.Folders; 
      ImapX.MessageCollection messages = client.Folders["INBOX"].Search("UNSEEN", true); //true - means all message parts will be received from server 

      int unread = messages.Count; 
      string unseen = unread.ToString(); 
      button1.Text = unseen; 
     } 

난 그냥 문자열로 INT 은밀한와 문자열 (보이지 않는)에서 표시했다가 버튼. 올바른 방향으로 나를 가리키는 quantumSoup에게 감사합니다.

+3

위의 URL이 작동하지 않으면 http://imapx.codeplex.com에서 새 버전을 사용해 볼 수 있습니다. – Evereq