jstedfast / MailKit

A cross-platform .NET library for IMAP, POP3, and SMTP.

Home Page:http://www.mimekit.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add an Example for ImapClient.OtherNamespaces Property

FrankCastle666 opened this issue · comments

Please add an example for ImapClient.OtherNamespaces Property.

TODO (optional): Describe a specific scenario you would like to see addressed.

Help Topic: http://www.mimekit.net/docs/html/P_MailKit_Net_Imap_ImapClient_OtherNamespaces.htm

using (var client = new ImapClient ()) {
	client.Connect ("imap.mail-server.com", 993, SecureSocketOptions.SslOnConnect);
	client.Authenticate ("username", "password");

	Console.WriteLine ("Personal namespaces:");
	foreach (var ns in client.PersonalNamespaces)
		Console.WriteLine ($"* \"{ns.Path}\" \"{ns.DirectorySeparator}\"");
	Console.WriteLine ();
	Console.WriteLine ("Shared namespaces:");
	foreach (var ns in client.SharedNamespaces)
		Console.WriteLine ($"* \"{ns.Path}\" \"{ns.DirectorySeparator}\"");
	Console.WriteLine ();
	Console.WriteLine ("Other namespaces:");
	foreach (var ns in client.OtherNamespaces)
		Console.WriteLine ($"* \"{ns.Path}\" \"{ns.DirectorySeparator}\"");
	Console.WriteLine ();

	// get the folder that represents the first personal namespace
	var personal = client.GetFolder (client.PersonalNamespaces[0]);

	// list the folders under the first personal namespace
	var subfolders = personal.GetSubfolders ();

	Console.WriteLine ("The list of folders that are direct children of the first personmal namespace:");
	foreach (var folder in subfolders)
		Console.WriteLine ($"* {folder.Name}");

	client.Disconnect (true);
}

Many thanks jstedfast