MailClient.ChangeMailFlags Method


Changes the flags of an email on IMAP4 server.

[Visual Basic]
Public Sub ChangeMailFlags( _
    info As MailInfo, _
    flags As String _
)
[C#]
public void ChangeMailFlags(
    MailInfo info,
    string flags
);
[C++]
public: void ChangeMailFlags(
    MailInfo* info,
    String* flags
);
[JScript]
public function ChangeMailFlags( 
    info: MailInfo,
    flags: String
);

Parameters

info
The MailInfo instance to change flags.
flags
The flags of email, the value can be \Seen, \Deleted or (\Seen \Deleted)

Example

[Visual Basic, C#, C++] The following example demonstrates how to mark \Seen and \Deleted flags to every email in "INBOX" with EAGetMail POP3 & IMAP Component. To get the full samples of EAGetMail, please refer to Samples section.

[Visual Basic]
Imports EAGetMail

Sub ChangeFlags( ByVal server As String, _
ByVal user As String, _
ByVal password As String)
    Try
        Dim oClient As New MailClient("TryIt")
        Dim oServer As New MailServer(server, user, password, ServerProtocol.Imap4)
        oClient.Connect(oServer)
        Dim infos() As MailInfo = oClient.GetMailInfos()
        Dim count As Integer = infos.Length
        For i As Integer = 0 To count - 1
            Dim info As MailInfo = infos(i)
            oClient.ChangeMailFlags( info, "(\Seen \Deleted)" )
            'For POP3 server, the IMAP4MailFlags is meaningless.
            Console.WriteLine( "Flags: {0}", info.IMAP4MailFlags )   
        Next
        oClient.Logout()
    Catch ep As Exception
        Console.WriteLine(ep.Message)
    End Try
End Sub

[C#]
using System;
using System.Collections;
using EAGetMail;

public static void ChangeFlags( 
    string server,
    string user,
    string password )
{
    try
    {
        MailClient oClient = new MailClient("TryIt");
        MailServer oServer = new MailServer( server, user, password, ServerProtocol.Imap4 );
        oClient.Connect( oServer );
        MailInfo [] infos = oClient.GetMailInfos();
        int count = infos.Length;
        for( int i = 0; i < count; i++ )
        {
            MailInfo info = infos[i];
            oClient.ChangeMailFlags( info, "(\\Seen \\Deleted)" );
            //For POP3 server, the IMAP4MailFlags is meaningless.
            Console.WriteLine( "Flags: {0}", info.IMAP4MailFlags );
        }
        oClient.Logout();
    }
    catch( Exception ep )
    {
        Console.WriteLine( ep.Message );
    }
}

[C++]
using namespace System;
using namespace System::Collections;
using namespace EAGetMail; 

Void ChangeFlags( 
                 String* server,
                 String* user,
                 String* password )
{
    try
    {
        MailClient *oClient = new MailClient(S"TryIt");
        MailServer *oServer = new MailServer( server, user, password, ServerProtocol::Imap4 );

        oClient->Connect( oServer );
        MailInfo *infos[]= oClient->GetMailInfos();
        int count = infos->Length;
        for( int i = 0; i < count; i++ )
        {
            MailInfo *info = infos[i];
            oClient->ChangeMailFlags( info, S"(\\Seen \\Deleted)" );
            //For POP3 server, the IMAP4MailFlags is meaningless.
            Console::WriteLine( "Flags: {0}", info->IMAP4MailFlags );
        }
        oClient->Logout();
    }
    catch( Exception *ep )
    {
        Console::WriteLine( ep->Message );
    }
}