Provides properties and methods for presenting an IMAP4 folder.
System.Object
EAGetMail.Imap4Folder
[Visual Basic] Public Class Imap4Folder
[C#] public class Imap4Folder
[C++] public __gc 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 folder. |
| IMAP4FolderFlags | Gets the flags of IMAP4 folder. |
| LocalPath | Gets the full path of IMAP4 folder based on local directory syntax. |
| Name | Gets the name of IMAP4 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 folder. To get the full samples of EAGetMail, please refer to Samples section.
[Visual Basic]
Imports EAGetMail
Public Sub ConnectImap4Server( _
ByVal server As String, _
ByVal user As String, _
ByVal password As String, _
ByVal sslConnection As Boolean)
Dim oServer As New MailServer(server, user, password, sslConnection, _
ServerAuthType.AuthLogin, ServerProtocol.Imap4)
Dim oClient As New MailClient("TryIt")
Try
oClient.Connect(oServer)
Dim folders() As Imap4Folder = oClient.Imap4Folders
'enumerates all folders on IMAP4 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)
Dim count As Integer = folders.Length
For i As Integer = 0 To count - 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#]
using System;
using EAGetMail;
public static void ConnectImap4Server(
string server,
string user,
string password,
bool sslConnection )
{
MailServer oServer = new MailServer( server, user, password, sslConnection,
ServerAuthType.AuthLogin, ServerProtocol.Imap4 );
MailClient oClient = new MailClient("TryIt");
try
{
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 )
{
int count = folders.Length;
for( int i = 0; i < count; 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++]
using namespace System;
using namespace EAGetMail;
Void EnumerateFolder(
Imap4Folder *folders[] )
{
int count = folders->Length;
for( int i = 0; i < count; 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", __box(folder->Subscribed) );
EnumerateFolder( folder->SubFolders );
}
}
Void ConnectImap4Server(
String* server,
String* user,
String* password,
bool sslConnection )
{
MailServer *oServer = new MailServer( server, user, password, sslConnection,
ServerAuthType::AuthLogin, ServerProtocol::Imap4 );
MailClient *oClient = new MailClient(S"TryIt");
try
{
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 );
}
}