繁体   English   中英

如何使用 C# 查看前 20 个电子邮件

[英]How to see top 20 e-mails with C#

我正在尝试用 Windows Forms C# 做一个邮件应用程序。我只想查看收件箱的前 20 行。

编辑:代码工作正常,但只在我的收件箱中列出了 20 封随机电子邮件

我试过这个:

using (var client = new Pop3Client())
{
    client.Connect("pop.gmail.com", 995, true);
    client.Authenticate("mail", "passwrd");

    for (int i = client.Count - 20; i < client.Count; i++)
    {
        var message = client.GetMessage(i);
        Console.WriteLine("Subject: {0}", message.Subject);
        txtBoxMails.AppendText("Subject: " + message.Subject + "\n");
    }

    client.Disconnect(true);
}

您可以使用GetMessages 它需要 2 个参数(int startIndex,int count)。 要获取的第一条消息的索引以及有多少条消息。

一个没有测试的例子。

var messages = client.GetMessages(0,20);

foreach (var item in messages)
{
    Console.WriteLine(item.Subject);
}

你应该使用GetMessageCount而不是Count

var messageCount = client.GetMessageCount();
var lastMessageIndex = messageCount-20;
for (int i = messageCount; i > lastMessageIndex; i--)
{
    //Do
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM