MailBee.NET BounceMail

MailBee.NET BounceMail

Lets your .NET applications parse bounces, track the delivery of your e-mails, and unsubscribe invalid e-mail addresses
BounceMail component is a free functionality within MailBee.NET Objects.
     
Current version: 7.2
Last update: 17 May 2012

Clients

Clients Say:

  • “Thanks - this worked out exactly as expected.”

    Joshi, Paresh


ComponentSource Award

MailBee.NET BounceMail provides a set of classes which let your applications determine if the given e-mail is a delivery or non-delivery status notification and extract all the additional details available like the reason of non-delivery, the sender’s e-mail address, the failed recipients’ e-mail addresses, envelope tracking ID and so on.

This component is a free functionality within MailBee.NET Objects. This means you can use it with any licensed component of MailBee.NET Objects family at no additional cost. For instance, you can receive an e-mail via POP3 or IMAP and then let BounceMail decide if that e-mail is a bounced message and find out whatever the failed e-mail address is:

DeliveryStatusParser parser = new DeliveryStatusParser(
	@"C:\Program Files\MailBee.NET Objects\BounceDatabase\all.xml", true);

// Download last e-mail from inbox (assuming pop is Pop3 instance)
MailMessage msg = pop.DownloadEntireMessage(pop.InboxMessageCount);

// Check if the e-mail is a bounced message and extract its details
Result result = parser.Process(msg);
if (result != null) {
	foreach (RecipientStatus status in result.Recipients)
	{
		Console.WriteLine("email=" + status.EmailAddress + ", " +
			"status.IsBounced=" + status.IsBounced.ToString());
	}
}
Dim parser As DeliveryStatusParser = New DeliveryStatusParser( _
	"C:\Program Files\MailBee.NET Objects\BounceDatabase\all.xml", True)

' Download last e-mail from inbox (assuming pop is Pop3 instance)
Dim msg As MailMessage = pop.DownloadEntireMessage(pop.InboxMessageCount)

' Check if the e-mail is a bounced message and extract its details
Dim result As Result = parser.Process(msg)
If Not result Is Nothing Then
	Dim status As RecipientStatus
	For Each status In result.Recipients
		Console.WriteLine("email=" + status.EmailAddress + ", " & _
			"status.IsBounced=" + status.IsBounced.ToString())
	Next
End If
The code above assumes that MailBee, MailBee.Mime, MailBee.BounceMail, and MailBee.Pop3Mail namespaces are declared ("using" in C#, "Imports" in VB) and 'pop' variable denotes MailBee.Pop3Mail.Pop3 instance object in authenticated state.

Visual Studio

Written in 100% managed code, MailBee.NET BounceMail only requires the .NET framework to be installed on the computer.

Supports .NET Framework 2.0/3.0/3.5/4.0, Client Profile. Can be used in any .NET language including C# and VB.NET.


Features

  • Supports Delivery Status Message (RFC1894) and Message Disposition Notification (RFC 3798) formats
  • Can parse hundreds of non-standard formats used by various e-mail clients and servers
  • Understands bounced messages from MS Exchange, Postfix, qmail, sendmail, and many others.
  • Provides access to all the data from the delivery status notification (DSN) part of the bounced message.
  • Extracts failed e-mail addresses, reason of the message being bounced, bounce status (soft or hard).
  • Gets OriginalEnvelopeID (Tracking ID) and the original message if available.
  • Compatible with MailBee.NET SMTP Component and any other mailers which let you set Tracking ID for outgoing e-mails.
  • New bounced e-mail templates can be added via XML definitions.

BounceMail reference...