如何从邮箱中读取最后一条未读消息并将此消息标记为“未读”
我使用 s22.imap.dll
ImapClient Client = new ImapClient("imap.gmail.com", 993, "My_Username",
"My_Password", true, AuthMethod.Login);
// Get a list of unique identifiers (UIDs) of all unread messages in the mailbox.
uint[] uids = Client.Search( SearchCondition.Unseen() );
// Fetch the messages and print out their subject lines.
foreach(uint uid in uids) {
MailMessage message = Client.GetMessage(uid);
Console.WriteLine(message.Subject);
}
// Free up any resources associated with this instance.
Client.Dispose();
Run Code Online (Sandbox Code Playgroud)
小智 5
首先获取uid最后一条未读消息:
var lastUid = Client.Search( SearchCondition.Unseen().Last() );
Run Code Online (Sandbox Code Playgroud)
并阅读此消息;
MailMessage message = Client.GetMessage( lastUid );
Run Code Online (Sandbox Code Playgroud)
将此消息标记为“未见”:
Client.RemoveMessageFlags( lastUid, null, MessageFlag.Seen );
Run Code Online (Sandbox Code Playgroud)
查看更多关于:ImapClient.RemoveMessageFlags 方法