执行接收信件并进一步堆叠在一张纸中的主要代码。
client.GetFolder("***").Open(MailKit.FolderAccess.ReadOnly);
var uids = client.GetFolder("***").Search(SearchQuery.NotSeen);
var messages = client.GetFolder("***").Fetch(uids, MessageSummaryItems.Envelope | MessageSummaryItems.BodyStructure);
if (messages != null && messages.Count > 0)
{
foreach (var msg in messages)
{
var body = (TextPart)client.GetFolder("***").GetBodyPart(msg.UniqueId, msg.BodyParts.First());
var date = msg.Date;
if (date.Date == dateTimePicker1.Value.Date)
{
list.Add(new MailListItem
{
msgInList = msg, // тут я в лист вытаскиваю само сообщение (хз зачем)
uid = msg.UniqueId.Id.ToString(),
From = msg.Envelope.From.ToString(),
Date = date,
Subject = msg.Envelope.Subject,
Body = body.Text,
Button = "Открыть письмо",
Download = false
});
}
}
}
有一个 SetFlags 方法。我们将“msg.Index”推入其中,设置“Seen”。
而文件夹必须以“读写”模式打开。