Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检索IMAP子文件夹_C#_Mailkit - Fatal编程技术网

C# 检索IMAP子文件夹

C# 检索IMAP子文件夹,c#,mailkit,C#,Mailkit,我正在尝试从收件箱中检索子文件夹和邮件,但我只能检索父文件夹,还尝试了使用PersonalNamespaces[0] var inbox = client.Inbox; inbox.Open (FolderAccess.ReadWrite); Debug.WriteLine ("Total messages: {0}", inbox.Count); //client.Inbox.Status(StatusItems.Unread); //Debug.WriteLine("Recent mess

我正在尝试从收件箱中检索子文件夹和邮件,但我只能检索父文件夹,还尝试了使用PersonalNamespaces[0]

var inbox = client.Inbox;
inbox.Open (FolderAccess.ReadWrite);

Debug.WriteLine ("Total messages: {0}", inbox.Count);
//client.Inbox.Status(StatusItems.Unread);
//Debug.WriteLine("Recent messages: {0}", inbox.Unread);
//Debug.WriteLine("Recent messages: {0}", inbox.FirstUnread);

var personal = client.GetFolder(client.PersonalNamespaces[0]);

foreach (var folder in inbox.GetSubfolders(false))
{
        Console.WriteLine("[folder] {0}", folder.Name);
        folder.Open(FolderAccess.ReadOnly);

并非所有IMAP服务器都允许收件箱文件夹的子文件夹。如果您确定IMAP帐户的“收件箱”文件夹包含子文件夹,则可以使用以下代码段获取它们:

foreach (var folder in client.Inbox.GetSubfolders (false)) {
    Console.WriteLine ("[folder] {0}", folder.Name);
}

我已经编辑了你的标题。请看“”,其中的共识是“不,他们不应该”。您好,谢谢您的回复,我以前尝试过,但也不起作用,我的IMAP帐户有子文件夹,它们可以在outlook和webmail中看到,我也订阅了它们,但结果是一样的,还有其他方法吗?谢谢如果MailKit没有找到收件箱的任何子文件夹,则没有任何子文件夹。要确认这一点,您可以按照以下说明查看协议日志:在这里您可以看到outlook中的子文件夹:是否有任何错误?协议日志中说了什么?我想我发现了一个可能导致此错误的错误。此问题可能是由于收件箱文件夹名称不区分大小写,并且ImapFolder.GetSubfolders()会筛选出服务器返回的文件夹,这些文件夹不是以ImapFolder的名称开头,以便解决服务器错误: