我用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中有一种读取第一封电子邮件的方法
文件夹中的第一封电子邮件的索引始终为0
。FirstUnread
属性是文件夹中尚未读取的最旧邮件的索引。
换句话说,如果你的文件夹有100封邮件,但你已经几天没有检查邮件了,那么你可能会有一些未读邮件。也许最后3条消息是未读的,所以这些未读消息的索引将是97
、98
和99
。在该示例中,FirstUnread
索引将是97
。
但我找不到阅读最近一封电子邮件主题的方法
最后一条消息的索引始终为folder.Count - 1
。就像数组中最后一个元素的索引总是array.Count - 1
一样。
或者更清楚地说,如果您有一个包含100
消息的文件夹,则该文件夹中最后一条消息的索引将为99
。
var message = folder.GetMessage (folder.Count - 1);
Console.WriteLine (message.Subject);