如何选择sharednamespace

时间:2015-11-23 08:43:12

标签: c# mailkit mimekit

使用IMAP - 我们在共享'用户下拥有许多共享邮箱。命名空间带有'。'分隔符。

我正在尝试编写一些将这些共享邮箱迁移到Exchange服务器的软件。

我试图打开“用户”中的特定邮箱/文件夹。 IMAP服务器向SELECT响应NO的共享命名空间。使用下面评论的摘录打开,对于Inbox工作得很好。可能是因为我无法访问“root / base-user”文件夹'但是我需要指定子文件夹,我不知道如何连接到有问题的共享邮箱。例如,它将是' user.sharedmailboxA'

在这里原谅我的术语,IMAP的总菜鸟!感谢

以下代码除了" NO",当我尝试尝试Open方法时,可能会拒绝访问:

  static void Main(string[] args)
        {
            using (var client = new ImapClient())
            {
                client.Connect("imap.c.com", 993, true);
            // Note: since we don't have an OAuth2 token, disable
            // the XOAUTH2 authentication mechanism.
            client.AuthenticationMechanisms.Remove("XOAUTH2");

            client.Authenticate("aa", "sdfdsf");

            var user_namespace = client.GetFolder(client.SharedNamespaces[0] );
            user_namespace.Open(FolderAccess.ReadOnly);


            // The Inbox folder is always available on all IMAP servers...

            //var inbox = client.Inbox;
            //inbox.Open(FolderAccess.ReadOnly);

            //Console.WriteLine("Total messages: {0}", inbox.Count);
            //Console.WriteLine("Recent messages: {0}", inbox.Recent);

            //for (int i = 0; i < inbox.Count; i++)
            //{
            //    var message = inbox.GetMessage(i);
            //    Console.WriteLine("Subject: {0}", message.Subject);
            //}

            //client.Disconnect(true);
        }
    }
}

0 个答案:

没有答案