C#MailKit-如何阅读最后一封电子邮件



我用Mailkit编写了阅读电子邮件的代码,在Mailkit中有一种阅读第一封电子邮件的方法,但我找不到阅读最近一封电子邮件主题的方法

using (var client = new ImapClient())
{
client.Connect(EXT_IMAP_SERVER, EXT_IMAP_PORT, true);
client.Authenticate(EXT_USERNAME, EXT_PASSWORD);
var inbox = client.Inbox;
inbox.Open(FolderAccess.ReadWrite);
var LAST_EMAIL = inbox.FirstUnread;// ****** here is my issue ******
var LAST_MSG = client.Inbox.GetMessage(LAST_EMAIL);
inbox.AddFlags(LAST_EMAIL, MessageFlags.Seen, true);
Console.WriteLine(LAST_MSG.Subject);
client.Disconnect(true);

}

在Mailkit中有一种读取第一封电子邮件的方法

文件夹中的第一封电子邮件的索引始终为0FirstUnread属性是文件夹中尚未读取的最旧邮件的索引。

换句话说,如果你的文件夹有100封邮件,但你已经几天没有检查邮件了,那么你可能会有一些未读邮件。也许最后3条消息是未读的,所以这些未读消息的索引将是979899。在该示例中,FirstUnread索引将是97

但我找不到阅读最近一封电子邮件主题的方法

最后一条消息的索引始终为folder.Count - 1。就像数组中最后一个元素的索引总是array.Count - 1一样。

或者更清楚地说,如果您有一个包含100消息的文件夹,则该文件夹中最后一条消息的索引将为99

var message = folder.GetMessage (folder.Count - 1);
Console.WriteLine (message.Subject);

相关内容

最新更新