MailBee.NET Objects 4.0

Pop3.DataReceived Event

Occurs when data is received from the POP3 server.

public event DataTransferEventHandler DataReceived;

Event Data

The event handler receives an argument of type DataTransferEventArgs containing data related to this event. The following DataTransferEventArgs properties provide information specific to this event.

Property Description
Data Gets a reference to the data block (chunk) sent or received.
Protocol Gets application-level protocol of the current connection.
RemoteEndPoint Gets a reference to the end point of the server host.
RemoteHostName Gets the host name of the server.
State Gets a reference to the object which was supplied by the developer in state parameter of asynchronous methods of the mailer components.

Remarks

Unlike LowLevelDataReceived event, occurrence of this event indicates receiving POP3-related data only. For instance, if the transmission channel is SSL-encrypted, LowLevelDataReceived event indicates receiving of encrypted data, while DataReceived will be raised later (after decrypting the data). If the transmission channel is not encrypted or otherwise scrambled, DataReceived and LowLevelDataReceived are equivalent.

Unlike MessageDataChunkReceived event, DataReceived will be raised when any POP3-related data is received, while MessageDataChunkReceived event is raised only when message header or entire message data is downloaded.

Note   This event is also raised when zero-length data is received from the server. When the server sends zero-length data portion, it means the server closed the connection. This normally happens after Disconnect method was called.

Example

This sample prints all the data received from the server during POP3 session into console.

[C#]
using System;
using MailBee;
using MailBee.Pop3Mail;

class Sample
{
    // DataReceived event handler.
    private static void OnDataReceived(object sender, DataTransferEventArgs e)
    {
        Console.WriteLine("[" + System.Text.Encoding.Default.GetString(e.Data) + "]");
    }

    // The actual code.
    static void Main(string[] args)
    {
        Pop3 pop = new Pop3();

        // Subscribe to the DataReceived event.
        pop.DataReceived += new DataTransferEventHandler(OnDataReceived);

        // Do something which would produce some network traffic.
        pop.Connect("mail.domain.com");
        pop.Login("jdoe", "secret");
        pop.Disconnect();
    }
}
[Visual Basic]
Imports System
Imports MailBee
Imports MailBee.Pop3Mail

Class Sample
    ' DataReceived event handler.
    Private Shared Sub OnDataReceived(ByVal sender As Object, ByVal e As DataTransferEventArgs)
        Console.WriteLine("[" & System.Text.Encoding.Default.GetString(e.Data) & "]")
    End Sub

    ' The actual code.
    Shared Sub Main(ByVal args As String())
        Dim pop As New Pop3

        ' Subscribe to the DataReceived event.
        AddHandler pop.DataReceived, AddressOf OnDataReceived

        ' Do something which would produce some network traffic.
        pop.Connect("mail.domain.com")
        pop.Login("jdoe", "secret")
        pop.Disconnect()
    End Sub
End Class

See Also

Pop3 Class | MailBee.Pop3Mail Namespace | MessageDataChunkReceived | LowLevelDataReceived