Transfer Event

Fired while the message gets transferred from MailServer .

Syntax

public event OnTransferHandler OnTransfer;

public delegate void OnTransferHandler(object sender, PopTransferEventArgs e);

public class PopTransferEventArgs : EventArgs {
  public int Direction { get; }
  public long BytesTransferred { get; }
  public int PercentDone { get; }
  public string Text { get; }
public byte[] TextB { get; } public bool EOL { get; } }
Public Event OnTransfer As OnTransferHandler

Public Delegate Sub OnTransferHandler(sender As Object, e As PopTransferEventArgs)

Public Class PopTransferEventArgs Inherits EventArgs
  Public ReadOnly Property Direction As Integer
  Public ReadOnly Property BytesTransferred As Long
  Public ReadOnly Property PercentDone As Integer
  Public ReadOnly Property Text As String
Public ReadOnly Property TextB As Byte() Public ReadOnly Property EOL As Boolean End Class

Remarks

The Text parameter contains the portion of the message data being retrieved.

The BytesTransferred parameter contains the number of bytes transferred since the beginning of the message, including header bytes. At the end of transmission (i.e. when the last Transfer event is fired), BytesTransferred equals the value of the MessageSize property.

The Transfer event is fired for every line of the message. For complete lines, there is no terminating newline at the end of the Text parameter, and EOL is True. The EOL parameter is False when a line is broken (usually for being too long).

A faster way to retrieve a message is to assign a value to the LocalFile property and use the Transfer event to check the progress rather than to get the actual data.

The Direction parameter shows whether the client (0) or the server (1) is sending the data.

The PercentDone parameter shows the progress of the transfer in the corresponding direction. If PercentDone can not be calculated the value will be -1.

Note that events are not re-entrant. Performing time consuming operations within this event will prevent it from firing again in a timely manner and may impact overall performance.

NOTE: For the PercentDone parameter value to be correct, the GetMessageSize must be set to true.

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks 2020 .NET Edition - Version 20.0 [Build 8307]