MailClient.SelectedFolder Property


Gets the current selected folder of IMAP4 server.

[Visual Basic]
Public Property SelectedFolder As String
[C#]
public string SelectedFolder {get; }
[C++]
public: __property String* get_SelectedFolder();
[JScript]
public function get SelectedFolder() : String;

Property Value

A String value indicating the current selected folder name.

Remarks

By default, the "INBOX" will be seleted automatically when the client connects to the IMAP4 server, then you can get, copy, delete the emails in selected folder. To operate the emails in other folder, please use MailClient.SelectFolder method to select the folder at first.

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 );
    }
}