Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
|
Bounced Email Handling
Demonstrates how to examine emails and detect which are bounced (automated) replies. Classifies each email according to the type of bounce.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% set bounce = Server.CreateObject("Chilkat.Bounce") success = bounce.UnlockComponent("Anything for 30-day trial") If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode(bounce.LastErrorText) & "</pre>" End If ' The mailman object is used for receiving (POP3) ' and sending (SMTP) email. set mailman = Server.CreateObject("Chilkat.MailMan2") ' Any string argument automatically begins the 30-day trial. success = mailman.UnlockComponent("30-day trial") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(mailman.LastErrorText) & "</pre>" End If ' 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.) ' bundle is a Chilkat.EmailBundle2 Set bundle = mailman.CopyMail() If (bundle Is Nothing ) Then Response.Write "<pre>" & Server.HTMLEncode(mailman.LastErrorText) & "</pre>" End If For i = 0 To bundle.MessageCount - 1 ' email is a Chilkat.Email2 Set email = bundle.GetEmail(i) success = bounce.ExamineEmail(email) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode(bounce.LastErrorText) & "</pre>" End If If (bounce.BounceType = 1) Then ' Hard bounce, log the email address Response.Write "<pre>" & Server.HTMLEncode( "Hard Bounce: " _ & bounce.BounceAddress) & "</pre>" End If If (bounce.BounceType = 2) Then ' Soft bounce, log the email address Response.Write "<pre>" & Server.HTMLEncode( "Soft Bounce: " _ & bounce.BounceAddress) & "</pre>" End If If (bounce.BounceType = 3) Then ' General bounce, no email address available. Response.Write "<pre>" & Server.HTMLEncode( "General Bounce: No email address") & "</pre>" End If If (bounce.BounceType = 4) Then ' General bounce, log the email address Response.Write "<pre>" & Server.HTMLEncode( "General Bounce: " _ & bounce.BounceAddress) & "</pre>" End If If (bounce.BounceType = 5) Then ' Mail blocked, log the email address ' A bounce occured because the sender was blocked. Response.Write "<pre>" & Server.HTMLEncode( "Mail Blocked: " _ & bounce.BounceAddress) & "</pre>" End If If (bounce.BounceType = 6) Then ' Auto-reply, log the email address Response.Write "<pre>" & Server.HTMLEncode( "Auto-Reply: " _ & bounce.BounceAddress) & "</pre>" End If If (bounce.BounceType = 7) Then ' Transient (recoverable) Failure, log the email address Response.Write "<pre>" & Server.HTMLEncode( "Transient Failure: " _ & bounce.BounceAddress) & "</pre>" End If If (bounce.BounceType = 8) Then ' Subscribe request, log the email address Response.Write "<pre>" & Server.HTMLEncode( "Subscribe Request: " _ & bounce.BounceAddress) & "</pre>" End If If (bounce.BounceType = 9) Then ' Unsubscribe Request, log the email address Response.Write "<pre>" & Server.HTMLEncode( "Unsubscribe Request: " _ & bounce.BounceAddress) & "</pre>" End If If (bounce.BounceType = 10) Then ' Virus Notification, log the email address Response.Write "<pre>" & Server.HTMLEncode( "Virus Notification: " _ & bounce.BounceAddress) & "</pre>" 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. Response.Write "<pre>" & Server.HTMLEncode( "Suspected Bounce!") & "</pre>" End If If (bounce.BounceType = 12) Then ' Challenge/Response - Auto-reply message sent by SPAM software ' where only verified email addresses are accepted. Response.Write "<pre>" & Server.HTMLEncode( "Challenge: " _ & bounce.BounceAddress) & "</pre>" End If If (bounce.BounceType = 13) Then ' Address Change Notification Message. Response.Write "<pre>" & Server.HTMLEncode( "Address Change: " _ & bounce.BounceAddress) & "</pre>" End If If (bounce.BounceType = 14) Then ' Success DSN indicating that the message was successfully relayed. Response.Write "<pre>" & Server.HTMLEncode( "DSN Successful Relay: ") & "</pre>" End If Next mailman.Pop3EndSession %> </body> </html> |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.