9

imapなどを使用してGmailから受信トレイ内の未読アイテムの数を取得し、C#WinFormsのラベルに表示する方法を教えてもらえますか?

アトムフィードを使用してみましたが、取得できませんでした

それが役立つなら、これが私がどのようになりたいかです:

受信トレイ(1)

4

2 に答える 2

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に感謝します

于 2010-08-30T02:35:35.520 に答える
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;
于 2010-08-22T01:14:02.117 に答える