Occurs when data is received from the POP3 server.
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. |
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.
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
Pop3 Class | MailBee.Pop3Mail Namespace | MessageDataChunkReceived | LowLevelDataReceived