Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(VB.NET UWP/WinRT) Bounced Email HandlingDemonstrates how to examine emails and detect which are bounced (automated) replies. Classifies each email according to the type of bounce.
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim bounce As New Chilkat.Bounce ' The mailman object is used for receiving (POP3) ' and sending (SMTP) email. Dim mailman As New Chilkat.MailMan ' Set the POP3 server's hostname mailman.MailHost = "mail.chilkatsoft.com" ' Set the POP3 login/password. mailman.PopUsername = "myLogin" mailman.PopPassword = "myPassword" ' Copy the all email from the user's POP3 mailbox ' into a bundle object. The email remains on the server. ' (There are other methods for deleting email from a POP3 server.) Dim bundle As Chilkat.EmailBundle = Await mailman.CopyMailAsync() If (mailman.LastMethodSuccess = False) Then Debug.WriteLine(mailman.LastErrorText) Exit Sub End If Dim i As Integer = 0 Dim email As Chilkat.Email While i < bundle.MessageCount email = bundle.GetEmail(i) Dim success As Boolean = bounce.ExamineEmail(email) If (success = False) Then Debug.WriteLine(bounce.LastErrorText) Exit Sub End If If (bounce.BounceType = 1) Then ' Hard bounce, log the email address Debug.WriteLine("Hard Bounce: " & bounce.BounceAddress) End If If (bounce.BounceType = 2) Then ' Soft bounce, log the email address Debug.WriteLine("Soft Bounce: " & bounce.BounceAddress) End If If (bounce.BounceType = 3) Then ' General bounce, no email address available. Debug.WriteLine("General Bounce: No email address") End If If (bounce.BounceType = 4) Then ' General bounce, log the email address Debug.WriteLine("General Bounce: " & bounce.BounceAddress) End If If (bounce.BounceType = 5) Then ' Mail blocked, log the email address ' A bounce occured because the sender was blocked. Debug.WriteLine("Mail Blocked: " & bounce.BounceAddress) End If If (bounce.BounceType = 6) Then ' Auto-reply, log the email address Debug.WriteLine("Auto-Reply: " & bounce.BounceAddress) End If If (bounce.BounceType = 7) Then ' Transient (recoverable) Failure, log the email address Debug.WriteLine("Transient Failure: " & bounce.BounceAddress) End If If (bounce.BounceType = 8) Then ' Subscribe request, log the email address Debug.WriteLine("Subscribe Request: " & bounce.BounceAddress) End If If (bounce.BounceType = 9) Then ' Unsubscribe Request, log the email address Debug.WriteLine("Unsubscribe Request: " & bounce.BounceAddress) End If If (bounce.BounceType = 10) Then ' Virus Notification, log the email address Debug.WriteLine("Virus Notification: " & bounce.BounceAddress) End If If (bounce.BounceType = 11) Then ' Suspected bounce. ' This should be rare. It indicates that the Bounce ' component found strong evidence that this is a bounced ' email, but couldn't quite recognize everything it ' needed to be 100% sure. Feel free to notify ' support@chilkatsoft.com regarding emails having this ' bounce type. Debug.WriteLine("Suspected Bounce!") End If If (bounce.BounceType = 12) Then ' Challenge/Response - Auto-reply message sent by SPAM software ' where only verified email addresses are accepted. Debug.WriteLine("Challenge: " & bounce.BounceAddress) End If If (bounce.BounceType = 13) Then ' Address Change Notification Message. Debug.WriteLine("Address Change: " & bounce.BounceAddress) End If If (bounce.BounceType = 14) Then ' Success DSN indicating that the message was successfully relayed. Debug.WriteLine("DSN Successful Relay: ") End If i = i + 1 End While success = Await mailman.Pop3EndSessionAsync() |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.