C#-MailKit Imap获取邮件的已读和未读状态
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-MailKit Imap获取邮件的已读和未读状态,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含994字,纯文字阅读大概需要2分钟。
内容图文
![C#-MailKit Imap获取邮件的已读和未读状态](/upload/InfoBanner/zyjiaocheng/682/efb9b7bd4a4640b386814b7184027631.jpg)
我正在使用MailKit从Gmail帐户读取邮件.效果很好.但是,我想获取消息状态为是否已读,未读,重要,已加星标等.MailKit是否可能?我似乎找不到任何东西.
这是我的代码:
var inbox = client.Inbox;
var message = inbox.GetMessage(4442);//4442 is the index of a message.
Console.WriteLine("Message Importance : {0}", message.Importance);
Console.WriteLine("Message Priority : {0}", message.Priority);
重要性和优先级始终返回“正常”.如何查找此消息是否标记为重要?以及如何获取此消息的已读或未读状态?
解决方法:
没有消息属性,因为MimeMessage只是经过解析的原始MIME消息流,而IMAP不在消息流上存储这些状态,而是将它们分别存储.
要获取所需的信息,您需要使用Fetch()方法:
var info = client.Inbox.Fetch (new [] { 4442 }, MessageSummaryItems.Flags | MessageSummaryItems.GMailLabels);
if (info[0].Flags.Value.HasFlag (MessageFlags.Flagged)) {
// this message is starred
}
if (info[0].Flags.Value.HasFlag (MessageFlags.Draft)) {
// this is a draft
}
if (info[0].GMailLabels.Contains ("Important")) {
// the message is Important
}
希望能有所帮助.
内容总结
以上是互联网集市为您收集整理的C#-MailKit Imap获取邮件的已读和未读状态全部内容,希望文章能够帮你解决C#-MailKit Imap获取邮件的已读和未读状态所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。