Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) Bounced Email HandlingDemonstrates how to examine emails and detect which are bounced (automated) replies. Classifies each email according to the type of bounce.
#import <CkoBounce.h> #import <CkoMailMan.h> #import <CkoEmailBundle.h> #import <CkoEmail.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoBounce *bounce = [[CkoBounce alloc] init]; // The mailman object is used for receiving (POP3) // and sending (SMTP) email. CkoMailMan *mailman = [[CkoMailMan alloc] init]; // 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.) CkoEmailBundle *bundle = [mailman CopyMail]; if (mailman.LastMethodSuccess == NO) { NSLog(@"%@",mailman.LastErrorText); return; } int i = 0; CkoEmail *email = 0; while (i < [bundle.MessageCount intValue]) { email = [bundle GetEmail: [NSNumber numberWithInt: i]]; BOOL success = [bounce ExamineEmail: email]; if (success == NO) { NSLog(@"%@",bounce.LastErrorText); return; } if ([bounce.BounceType intValue] == 1) { // Hard bounce, log the email address NSLog(@"%@%@",@"Hard Bounce: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 2) { // Soft bounce, log the email address NSLog(@"%@%@",@"Soft Bounce: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 3) { // General bounce, no email address available. NSLog(@"%@",@"General Bounce: No email address"); } if ([bounce.BounceType intValue] == 4) { // General bounce, log the email address NSLog(@"%@%@",@"General Bounce: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 5) { // Mail blocked, log the email address // A bounce occured because the sender was blocked. NSLog(@"%@%@",@"Mail Blocked: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 6) { // Auto-reply, log the email address NSLog(@"%@%@",@"Auto-Reply: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 7) { // Transient (recoverable) Failure, log the email address NSLog(@"%@%@",@"Transient Failure: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 8) { // Subscribe request, log the email address NSLog(@"%@%@",@"Subscribe Request: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 9) { // Unsubscribe Request, log the email address NSLog(@"%@%@",@"Unsubscribe Request: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 10) { // Virus Notification, log the email address NSLog(@"%@%@",@"Virus Notification: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 11) { // 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. NSLog(@"%@",@"Suspected Bounce!"); } if ([bounce.BounceType intValue] == 12) { // Challenge/Response - Auto-reply message sent by SPAM software // where only verified email addresses are accepted. NSLog(@"%@%@",@"Challenge: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 13) { // Address Change Notification Message. NSLog(@"%@%@",@"Address Change: ",bounce.BounceAddress); } if ([bounce.BounceType intValue] == 14) { // Success DSN indicating that the message was successfully relayed. NSLog(@"%@",@"DSN Successful Relay: "); } i = i + 1; } success = [mailman Pop3EndSession]; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.