Occurs when messages are being scanned.
Shows how to handle the Progress event.
using System;
using ComponentPro.Net.Mail;
...
static void Main()
{
try
{
// Create a new instance of the BounceInspector class.
BounceInspector inspector = new BounceInspector();
// Register an event handler.
inspector.Progress += inspector_Progress;
// Process all EML files in directory 'c:\\temp'.
BounceResultCollection result = inspector.ProcessMessages("c:\\temp");
// Display processed emails.
foreach (BounceResult r in result)
{
// If this message was identified as a bounced email message.
if (r.Identified)
{
// Print out the result
Console.Write("FileName: {0}\nSubject: {1}\nAddress: {2}\nBounce Category: {3}\nBounce Type: {4}\nDeleted: {5}\nDSN Action: {6}\nDSN Diagnostic Code: {7}\n\n",
System.IO.Path.GetFileName(r.FilePath),
r.MailMessage.Subject,
r.Addresses[0],
r.BounceCategory.Name,
r.BounceType.Name,
r.FileDeleted,
r.Dsn.Action,
r.Dsn.DiagnosticCode);
}
}
Console.WriteLine("{0} bounced message found", result.BounceCount);
}
catch (Exception exc)
{
Console.WriteLine(string.Format("An error occurred: {0}", exc.Message));
}
}
/// <summary>
/// Handles the BounceInspector's Progress event.
/// </summary>
/// <param name="sender">The BounceInspector object.</param>
/// <param name="e">The event arguments.</param>
static void inspector_Progress(object sender, ProgressEventArgs e)
{
Console.WriteLine("{0}/{1} message(s) processed, {2}% completed", e.Current, e.Total, e.Percentage);
}
Imports ComponentPro.Net.Mail
...
Shared Sub Main()
Try
' Create a new instance of the BounceInspector class.
Dim inspector As New BounceInspector()
' Register an event handler.
AddHandler inspector.Progress, AddressOf inspector_Progress
' Process all EML files in directory 'c:\\temp'.
Dim result As BounceResultCollection = inspector.ProcessMessages("c:\temp")
' Display processed emails.
For Each r As BounceResult In result
' If this message was identified as a bounced email message.
If r.Identified Then
' Print out the result
Console.Write("FileName: {0}" & vbLf & "Subject: {1}" & vbLf & "Address: {2}" & vbLf & "Bounce Category: {3}" & vbLf & "Bounce Type: {4}" & vbLf & "Deleted: {5}" & vbLf & "DSN Action: {6}" & vbLf & "DSN Diagnostic Code: {7}" & vbLf & vbLf, System.IO.Path.GetFileName(r.FilePath), r.MailMessage.Subject, r.Addresses(0), r.BounceCategory.Name, r.BounceType.Name, r.FileDeleted, r.Dsn.Action, r.Dsn.DiagnosticCode)
End If
Next r
Console.WriteLine("{0} bounced message found", result.BounceCount)
Catch exc As Exception
Console.WriteLine(String.Format("An error occurred: {0}", exc.Message))
End Try
End Sub
''' <summary>
''' Handles the BounceInspector's Progress event.
''' </summary>
''' <param name="sender">The BounceInspector object.</param>
''' <param name="e">The event arguments.</param>
Private Shared Sub inspector_Progress(ByVal sender As Object, ByVal e As ProgressEventArgs)
Console.WriteLine("{0}/{1} message(s) processed, {2}% completed", e.Current, e.Total, e.Percentage)
End Sub