Pop3BeginDeleteMessage Method

Note: This API is now obsolete.

Begins an asynchronous request for flagging the specified message for deletion from the server.

Namespace: MailBee.Pop3Mail
Assembly: MailBee.NET (in MailBee.NET.dll) Version: 12.4 build 677 for .NET 4.5
Syntax
[ObsoleteAttribute("This method is obsolete in .NET 4.5+. Use DeleteMessageAsync instead.")]
public IAsyncResult BeginDeleteMessage(
	int index,
	AsyncCallback callback,
	Object state
)

Parameters

index
Type: SystemInt32
The ordinal position of the message in the inbox. It must be in the range from 1 to InboxMessageCount. Can be negative in the range from -1 to -InboxMessageCount, i.e. -1 denotes the last e-mail in the inbox.
callback
Type: SystemAsyncCallback
The AsyncCallback delegate. You can leave it a null reference (Nothing in Visual Basic) if you do not use callbacks.
state
Type: SystemObject
An object that contains state information for this request. You can leave it a null reference (Nothing in Visual Basic).

Return Value

Type: IAsyncResult
An IAsyncResult that references the asynchronous flagging the message for deletion.
Exceptions
ExceptionCondition
MailBeeInvalidStateExceptionThere is already an operation in progress.
Remarks
This method is an asynchronous version of DeleteMessage(Int32).
Examples
This WinForms sample demonstrates asynchronous flagging the last message for deletion and use of a callback function.
// To use the code below, import MailBee namespaces at the top of your code.
using MailBee;
using MailBee.Pop3Mail;

// Put the code below inside your class.

// A callback function.
private void DeleteMessageCallback(IAsyncResult result)
{
    Pop3 pop = (Pop3)result.AsyncState;
    pop.EndDeleteMessage();
    MessageBox.Show("Last message flagged as deleted");
}

// The actual code.
private void Form1_Load(object sender, System.EventArgs e)
{
    Pop3 pop = new Pop3();

    // Let MailBee process events.
    pop.RaiseEventsViaMessageLoop = false;

    pop.Connect("pop.somehost.com");
    pop.Login("jdoe", "secret");

    // Initiate an asynchronous deletion attempt.
    pop.BeginDeleteMessage(pop.InboxMessageCount, _
        new AsyncCallback(DeleteMessageCallback), pop);

    // Simulate some lengthy work here...
    for (int i = 0; i < 100; i++)
    {
        // Make a portion of the work.
        System.Threading.Thread.Sleep(10);

        // Process events which were raised during execution of the work above.
        pop.Wait(0);
    }

    // If flagging the message is still in progress, wait until it's done.
    pop.Wait();

    // Disconnect from the server.
    pop.Disconnect();
}
See Also