MailBee.NET BounceMail Component

MailBee.NET BounceMail Component

Lets your .NET applications parse bounces, track the delivery of your e-mails, and unsubscribe invalid
e-mail addresses
MailBee.NET Objects bundle includes SMTP, POP3, IMAP, EWS, Security, Antispam, Outlook Converter, Address Validator, PDF components and also BounceMail, HTML, MIME, ICalVCard components which are a free functionality.

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())
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.

MailBee.NET BounceMail can be used in any .NET language including C# and VB.NET. Supported .NET frameworks include .NET 2.0/3.0/3.5/4.0/4.5/4.6/4.7/4.8/5.0/6.0/8.0 and .NET Core, both 32-bit and 64-bit.

Current version: 12.4 Last update: 06 December 2023


  • 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...

Clients Say:

"I've been looking at the MailBee.NET application and love it." Matt Yeager
"Thanks again for your help. I like your products..." Ron Hill
"By the way I love your software. Great work thank you." Dennis Drogemuller