MailClient.AppendEx Method


Appends an email to specified IMAP4 folder with flags.

[Visual Basic]
Public Sub AppendEx( _
    folder As Imap4Folder, _
    data() As Byte, _
    flags As String _
)
Public Sub AppendEx( _
    folder As Imap4Folder, _
    data() As Byte, _
    flags As String, _
    dt As System.DateTime _
)
[C#]
public void AppendEx(
    Imap4Folder folder,
    byte[] data,
    string flags
);

public void AppendEx(
    Imap4Folder folder,
    byte[] data,
    string flags,
    System.DateTime dt
);
[C++]
public: void AppendEx(
    Imap4Folder* folder,
    unsigned char data __gc[],
    String* flags
);

public: void AppendEx(
    Imap4Folder* folder,
    unsigned char data __gc[],
    String* flags,
    System.DateTime dt
);
[JScript]
public function AppendEx( 
    folder: Imap4Folder,
    data: Byte [],
    flags: String
);

public function AppendEx( 
    folder: Imap4Folder,
    data: Byte [],
    flags: String,
    dt: System.DateTime
);

Parameters

folder
The dest IMAP folder.
data
The binary data of email.
flags
The flags of email, the value can be \Seen, \Deleted or (\Seen \Deleted)
dt
The datetime assigned to the email.

Example

[Visual Basic, C#, C++] The following example demonstrates how to append email to "INBOX" with EAGetMail POP3 & IMAP Component. To get the full samples of EAGetMail, please refer to Samples section.

[Visual Basic]
Imports EAGetMail

Sub AppendEmail(ByVal emlFile As String, _
ByVal server As String, _
ByVal user As String, _
ByVal password As String)
    Try
        Dim oMail As New Mail("TryIt")
        oMail.Load(emlFile, False)

        Dim oClient As New MailClient("TryIt")
        Dim oServer As New MailServer(server, user, password, ServerProtocol.Imap4)
        oClient.Connect(oServer)
        Dim folders() As Imap4Folder = oClient.Imap4Folders
        Dim count As Integer = folders.Length
        For i As Integer = 0 To count - 1
            Dim folder As Imap4Folder = folders(i)
            If String.Compare("INBOX", folder.Name, True) = 0 Then
                'appends this email to "INBOX" folder
                oClient.AppendEx(folder, oMail.Content, "\Seen \Deleted")
                Exit For
            End If
        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 AppendEmail( string emlFile,
    string server,
    string user,
    string password )
{
    try
    {
        Mail oMail = new Mail("TryIt");
        oMail.Load( emlFile, false );

        MailClient oClient = new MailClient("TryIt");
        MailServer oServer = new MailServer( server, user, password, ServerProtocol.Imap4 );
        oClient.Connect( oServer );
        Imap4Folder [] folders = oClient.Imap4Folders;
        int count = folders.Length;
        for( int i = 0; i < count; i++ )
        {
            Imap4Folder folder = folders[i];
            if( String.Compare( "INBOX", folder.Name, true ) == 0 )
            {
                //appends this email to "INBOX" folder
                oClient.AppendEx( folder, oMail.Content, "\\Seen \\Deleted" );
                break;
            }
        }
        oClient.Logout();
    }
    catch( Exception ep )
    {
        Console.WriteLine( ep.Message );
    }
}

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

Void AppendEmail( String* emlFile,
                 String* server,
                 String* user,
                 String* password )
{
    try
    {
        Mail* oMail = new Mail(S"TryIt");
        oMail->Load( emlFile, false );

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

        oClient->Connect( oServer );
        Imap4Folder *folders [] = oClient->Imap4Folders;
        int count = folders->Length;
        for( int i = 0; i < count; i++ )
        {
            Imap4Folder *folder = folders[i];
            if( String::Compare( S"INBOX", folder->Name, true ) == 0 )
            {
                //appends email to "INBOX"
                oClient->AppendEx( folder, oMail->Content, S"\\Seen \\Deleted" );
                break;
            }
        }

        oClient->Logout();
    }
    catch( Exception *ep )
    {
        Console::WriteLine( ep->Message );
    }
}