Provides properties and methods for presenting an e-mail delivery report or receipt.
System.Object
EAGetMail.MailReport
[Visual Basic] Public Class MailReport
[C#] public class MailReport
[C++] public __gc class MailReport
[JScript] public class MailReport
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Public Properties
| ErrCode | Gets the error code of the failure delivery report. |
| ErrDescription | Gets the error description of the failure delivery report. |
| OriginalHeaders | Gets the original email's headers in the delivery report or receipt. |
| OriginalMessageID | Gets the original email's MessageID in the delivery report or receipt. |
| OriginalRecipient | Gets the original recipient address in the delivery report or receipt. |
| OriginalSender | Gets the original sender address in the delivery report or receipt. |
| OriginalSubject | Gets the original email subject in the delivery report or receipt. |
| ReportMTA | Gets the server which reported the report or receipt. |
| ReportType | Gets delivery type. |
Read Receipt
Delivery Receipt and FailureReport
Remarks
Example
[Visual Basic, C#] The following example demonstrates how to parse the delivery report with EAGetMail POP3 & IMAP4 .NET Component. To get the full samples of EAGetMail, please refer to Samples section.
[Visual Basic]
Imports EAGetMail
Public Sub ParseReport(ByVal emlFile As String)
Dim oMail As New Mail("TryIt")
oMail.Load(emlFile, False)
If Not oMail.IsReport Then
Console.WriteLine("This is not a delivery report.")
Exit Sub
End If
Dim oReport As MailReport = oMail.GetReport()
Select (oReport.ReportType)
Case DeliveryReportType.DeliveryReceipt
Console.WriteLine("This is a delivery receipt!")
Case DeliveryReportType.ReadReceipt
Console.WriteLine("This is a read receipt!")
Case Else
Console.WriteLine("This is a failure report!")
End Select
Console.WriteLine("OriginalSender: {0}", oReport.OriginalSender)
Console.WriteLine("OriginalRecipient: {0}", oReport.OriginalRecipient)
Console.WriteLine("OriginalMessageID: {0}", oReport.OriginalMessageID)
If oReport.ReportType = DeliveryReportType.FailureReport Then
Console.WriteLine("ErrCode: {0}", oReport.ErrCode)
Console.WriteLine("ErrDescription: {0}", oReport.ErrDescription)
Console.WriteLine("OriginalSubject: {0}", oReport.OriginalSubject)
Console.WriteLine("ReportMTA: {0}", oReport.ReportMTA)
Console.WriteLine(oReport.OriginalHeaders.ToString())
End If
End Sub
[C#]
using System;
using System.Collections;
using EAGetMail;
public void ParseReport(string emlFile)
{
Mail oMail = new Mail("TryIt");
oMail.Load(emlFile, false);
if (!oMail.IsReport)
{
Console.WriteLine("This is not a delivery report.");
return;
}
MailReport oReport = oMail.GetReport();
switch (oReport.ReportType)
{
case DeliveryReportType.DeliveryReceipt:
Console.WriteLine( "This is a delivery receipt!" );
break;
case DeliveryReportType.ReadReceipt:
Console.WriteLine( "This is a read receipt!" );
break;
default:
Console.WriteLine( "This is a failure report!" );
break;
}
Console.WriteLine( "OriginalSender: {0}", oReport.OriginalSender );
Console.WriteLine( "OriginalRecipient: {0}", oReport.OriginalRecipient );
Console.WriteLine( "OriginalMessageID: {0}", oReport.OriginalMessageID );
if( oReport.ReportType == DeliveryReportType.FailureReport )
{
Console.WriteLine( "ErrCode: {0}", oReport.ErrCode );
Console.WriteLine("ErrDescription: {0}", oReport.ErrDescription);
Console.WriteLine( "OriginalSubject: {0}", oReport.OriginalSubject );
Console.WriteLine( "ReportMTA: {0}", oReport.ReportMTA );
Console.WriteLine( oReport.OriginalHeaders.ToString());
}
}