【问题标题】:Count number of emails in gmail using IMAP使用 IMAP 计算 gmail 中的电子邮件数量
【发布时间】:2011-04-02 04:00:37
【问题描述】:

谁能告诉我如何使用 imap 或其他方式从 gmail 获取收件箱中未读项目的数量,并将其显示在 C# WinForms 中的标签中?

我尝试使用原子提要,但始终无法获得它

如果有帮助,这就是我想要的样子:

【问题讨论】:

  • 请从问题中删除答案并将其作为实际答案发布。谢谢!

标签: c# winforms gmail imap inbox


【解决方案1】:

已解决

这是我与 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 为我指明了正确的方向

【讨论】:

【解决方案2】:

您可能希望找到所有设置了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;

【讨论】:

  • 您能否详细说明一下我对编程完全陌生
  • 感谢您的帮助,效果很好,所以我将如何在标签中显示 dis
  • 如果我错了,请纠正我:您需要参考Mail.dll:lesnikowski.com/mail
  • 你能告诉我你从哪里得到这个 Imap 类吗?是否有任何可用于 Imap 的 .NET 库?
猜你喜欢
  • 2011-10-11
  • 2020-03-31
  • 1970-01-01
  • 2022-12-28
  • 2013-04-12
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多