Provides properties and methods for presenting an IMAP4/MS Exchange mail folder.
System.Object
EAGetMail.Imap4Folder
[Visual Basic] Public Class Imap4Folder
[C#] public class Imap4Folder
[C++] public ref class Imap4Folder
[JScript] public class Imap4Folder
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Public Constructors
Imap4Folder Constructor | Initializes a new instance of the Imap4Folder class. |
Public Properties
FullPath | Gets full path of IMAP4/Exchange folder. |
IMAP4FolderFlags | Gets the flags of IMAP4 folder. |
LocalPath | Gets the full path of IMAP4/Exchange folder based on local directory syntax. |
Name | Gets the name of IMAP4/Exchange folder. |
SubFolders | Gets the sub-folders of current folder. |
Subscribed | Gets whether the IMAP4 folder has been subscribed. |
Example
[Visual Basic, C#, C++] The following sample demonstrates how to enumerate all folders on IMAP4/MS Exchange server. To get the full samples of EAGetMail, please refer to Samples section.
[Visual Basic - Enumerate Mail Folders] Imports EAGetMail Public Sub ConnectImap4Server( _ ByVal server As String, _ ByVal user As String, _ ByVal password As String, _ ByVal sslConnection As Boolean) ' To manage folder with Exchange Web Service, please change ' ServerProtocol.Imap4 to ServerProtocol.ExchangeEWS to MailServer constructor ' and also set sslConnection to True ' To manage folder with Exchange WebDAV, please change ' ServerProtocol.Imap4 to ServerProtocol.ExchangeWebDAV to MailServer constructor ' Exchange Server supports IMAP4 protocol as well, but in Exchange 2007 ' or later version, IMAP4 service is disabled by default. If you don't want to use IMAP4 ' to manage folder from Exchange Server, you can use Exchange Web Service (Exchange 2007/2010 or ' later version) or WebDAV (Exchange 2000/2003) protocol. Try Dim oServer As New MailServer(server, user, password, sslConnection, _ ServerAuthType.AuthLogin, ServerProtocol.Imap4) Dim oClient As New MailClient("TryIt") oClient.Connect(oServer) Dim folders() As Imap4Folder = oClient.Imap4Folders ' enumerates all folders on IMAP4/Exchange server. EnumerateFolder(folders) oClient.Logout() Catch ep As Exception oClient.Close() Console.WriteLine(ep.Message) End Try End Sub Public Sub EnumerateFolder(ByVal folders() As Imap4Folder) For i As Integer = 0 To folders.Length - 1 Dim folder As Imap4Folder = folders(i) Console.WriteLine("Name: {0}", folder.Name) Console.WriteLine("FullPath: {0}", folder.FullPath) Console.WriteLine("LocalPath: {0}", folder.LocalPath) Console.WriteLine("Flags: {0}", folder.IMAP4FolderFlags) Console.WriteLine("Subscribed: {0}" & vbCrLf, folder.Subscribed) EnumerateFolder(folder.SubFolders) Next End Sub
[C# - Enumerate Mail Folders] using System; using EAGetMail; public static void ConnectImap4Server( string server, string user, string password, bool sslConnection) { // To manage folder with Exchange Web Service, please change // ServerProtocol.Imap4 to ServerProtocol.ExchangeEWS to MailServer constructor // and also set sslConnection to true // To manage folder with Exchange WebDAV, please change // ServerProtocol.Imap4 to ServerProtocol.ExchangeWebDAV to MailServer constructor // Exchange Server supports IMAP4 protocol as well, but in Exchange 2007 // or later version, IMAP4 service is disabled by default. If you don't want to use IMAP4 // to manage folder from Exchange Server, you can use Exchange Web Service (Exchange 2007/2010 or // later version) or WebDAV (Exchange 2000/2003) protocol. try { MailServer oServer = new MailServer(server, user, password, sslConnection, ServerAuthType.AuthLogin, ServerProtocol.Imap4); MailClient oClient = new MailClient("TryIt"); oClient.Connect(oServer); Imap4Folder [] folders = oClient.Imap4Folders; // enumerates all folders on IMAP4 server. EnumerateFolder(folders); oClient.Logout(); } catch(Exception ep) { oClient.Close(); Console.WriteLine(ep.Message); } } public static void EnumerateFolder( Imap4Folder[] folders) { for(int i = 0; i < folders.Length; i++) { Imap4Folder folder = folders[i]; Console.WriteLine("Name: {0}", folder.Name); Console.WriteLine("FullPath: {0}", folder.FullPath); Console.WriteLine("LocalPath: {0}", folder.LocalPath); Console.WriteLine("Flags: {0}", folder.IMAP4FolderFlags); Console.WriteLine("Subscribed: {0}\r\n", folder.Subscribed); EnumerateFolder(folder.SubFolders); } }
[C++/CLI - Enumerate Mail Folders] using namespace System; using namespace EAGetMail; Void EnumerateFolder( array<Imap4Folder^>^folders) { for(int i = 0; i < folders->Length; i++) { Imap4Folder ^folder = folders[i]; Console::WriteLine("Name: {0}", folder->Name); Console::WriteLine("FullPath: {0}", folder->FullPath); Console::WriteLine("LocalPath: {0}", folder->LocalPath); Console::WriteLine("Flags: {0}", folder->IMAP4FolderFlags); Console::WriteLine("Subscribed: {0}\r\n", folder->Subscribed); EnumerateFolder(folder->SubFolders); } } Void ConnectImap4Server( String^ server, String^ user, String^ password, bool sslConnection) { // To manage folder with Exchange Web Service, please change // ServerProtocol::Imap4 to ServerProtocol::ExchangeEWS to MailServer constructor // and also set sslConnection to true // To manage folder with Exchange WebDAV, please change // ServerProtocol::Imap4 to ServerProtocol::ExchangeWebDAV to MailServer constructor // Exchange Server supports IMAP4 protocol as well, but in Exchange 2007 // or later version, IMAP4 service is disabled by default. If you don't want to use IMAP4 // to manage folder from Exchange Server, you can use Exchange Web Service (Exchange 2007/2010 or // later version) or WebDAV (Exchange 2000/2003) protocol. try { MailServer ^oServer = gcnew MailServer(server, user, password, sslConnection, ServerAuthType::AuthLogin, ServerProtocol::Imap4); MailClient ^oClient = gcnew MailClient("TryIt"); oClient->Connect(oServer); array<Imap4Folder^>^folders = oClient->Imap4Folders; //enumerates all folders on IMAP4/Exchange server. EnumerateFolder(folders); oClient->Logout(); } catch(Exception ^ep) { oClient->Close(); Console::WriteLine(ep->Message); } }
See Also
MailClient.Imap4Folders Property
MailClient.CreateFolder Method
MailClient.DeleteFolder Method
MailClient.Move Method
MailClient.Copy Method
MailClient.SelectFolder Method
Online Tutorials
Manage Mail Folders in C#
Manage Mail Folders in VB
Manage Mail Folders in C++/CLI