我有一种使用 MailKit 的方法,可以在您的邮箱中打开一个文件夹。如果访问级别低于提供的参数,则它将关闭文件夹,然后以正确的访问级别打开文件夹。
像这样的东西:
public void OpenFolder(IMailFolder folder, FolderAccess level)
{
if(folder.IsOpen() && folder.FolderAccess < level)
{
//Closed folder
using(var task = folder.CloseAsync())
{
task.Wait();
}
//Open folder with correct accesslevel
folder.Open(level);
}
}
task.Wait() 部分抛出一个 AggregateException (它似乎有一个 ImapCommandException 类型的内部异常),告诉我:
MailKit.Net.Imap.ImapCommandException:IMAP 服务器以“BAD”响应回复“UNSELECT”命令。
我可以得出的结论是,绑定执行 CLOSE 操作(根据 IMAP4 是 UNSELECT)的响应给出了 BAD 响应,这应该是由于没有选择邮箱引起的。
我该如何处理这个关闭操作,以便我可以关闭访问级别较低的文件夹,并在正确的访问级别关闭后打开它???