Selects an IMAP4 folder to operate.
[Visual Basic]
Public Sub SelectFolder( _
folder As Imap4Folder _
)
[C#]
public void SelectFolder(
Imap4Folder folder
);
[C++]
public: Void SelectFolder(
Imap4Folder* folder
);
[JScript]
public function SelectFolder(
folder: Imap4Folder
);
Parameters
Remarks
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( oClient, folders )
oClient.Logout()
Catch ep As Exception
oClient.Close()
Console.WriteLine(ep.Message)
End Try
End Sub
Public Sub EnumerateFolder( _
ByVal oClient As MailClient, _
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)
oClient.SelectFolder( folder )
' get emails information in current selected folder.
Dim infos() As MailInfo = oClient.GetMailInfos()
Console.WriteLine( "{0} mailbox has {1} emails", oClient.SelectedFolder, infos.Length )
EnumerateFolder( oClient, 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( oClient, folders );
oClient.Logout();
}
catch(Exception ep )
{
oClient.Close();
Console.WriteLine( ep.Message );
}
}
public static void EnumerateFolder(
MailClient oClient,
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 );
oClient.SelectFolder( folder )
// get emails information in current selected folder.
MailInfo[] infos = oClient.GetMailInfos();
Console.WriteLine( "{0} mailbox has {1} emails", oClient.SelectedFolder, infos.Length );
EnumerateFolder( oClient, folder.SubFolders );
}
}
[C++]
using namespace System;
using namespace EAGetMail;
Void EnumerateFolder(
MailClient *oClient,
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) );
oClient->SelectFolder( folder )
// get emails information in current selected folder.
MailInfo *infos[] = oClient->GetMailInfos();
Console::WriteLine( S"{0} mailbox has {1} emails", oClient->SelectedFolder, __box(infos->Length) );
EnumerateFolder( oClient, 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( oClient, folders );
oClient->Logout();
}
catch(Exception *ep )
{
oClient->Close();
Console::WriteLine( ep->Message );
}
}