首页 > 代码库 > MailKit---状态更改和删除
MailKit---状态更改和删除
当我们拉取邮件列表,并展示邮件后需要打开邮件,同时标识本邮件状态为已读状态,或者我们直接删除邮件。下面介绍基本的应用。
首先了解邮件的所有枚举状态:MailKit.MessageFlags包括:(None = 0,Seen = 1,Answered = 2,Flagged = 4,Deleted = 8,Draft = 16,Recent = 32,UserDefined = 64)。
要操作文件夹需做如下动作:
一、创建获取邮件客户端并连接到邮件服务器。
1 ImapClient client = new ImapClient(); 2 3 client.Connect("mail.qq.com"); 4 5 //带端口号和协议的连接方式 6 client.Connect("imap.126.com", 993, true);
二、验证登录信息,输入账号和密码登录。
1 string account = "admin"; 2 string passWord = "123456"; 3 client.Authenticate(account, passWord);
三、获取邮箱文件夹。默认的收件箱文件夹叫INBOX。
1 //获取所有的文件夹 2 List<IMailFolder> mailFolderList = client.GetFolders(client.PersonalNamespaces[0]).ToList(); 3 4 //只获取收件箱文件加 5 var folder = client.GetFolder("INBOX");
四、操作邮件状态或删除邮件。
1 //已读写的方式打开文件夹 2 folder.Open(FolderAccess.ReadWrite); 3 4 //获取大于2016-9-1时间的所有邮件的唯一Id 5 var uidss = folder.Search(SearchQuery.DeliveredAfter(DateTime.Parse("2016-9-1"))); 6 7 //设置为已读状态 8 MessageFlags messageFlags = MessageFlags.Seen; 9 10 //bool silent=false; 11 12 //设置状态 13 mailFolder.SetFlags(uidss[0], mailFlags, silent); 14 //或者删除邮件 15 mailFolder.RemoveFlags(uidss[0], mailFlags, silent); 16 17 //主要针对Exchange 让删除指令执行 18 folder.Expunge(); 19 20 //最后记得关闭文件夹 21 folder.Close();
MailKit---状态更改和删除
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。