Objective-C
Objective-C
Process Large POP3 Mailbox
Demonstrates how to read email from a mailbox that may contain a large number of emails.Chilkat Objective-C Downloads
#import <CkoMailMan.h>
#import <CkoStringTable.h>
#import <CkoEmail.h>
#import <NSString.h>
BOOL success = NO;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoMailMan *mailman = [[CkoMailMan alloc] init];
mailman.MailHost = @"pop.example.com";
mailman.PopUsername = @"myLogin";
mailman.PopPassword = @"myPassword";
mailman.MailPort = [NSNumber numberWithInt:995];
mailman.PopSsl = YES;
// Get the list of UIDLs for all emails in the mailbox.
CkoStringTable *stUidls = [[CkoStringTable alloc] init];
success = [mailman FetchUidls: stUidls];
if (success == NO) {
NSLog(@"%@",mailman.LastErrorText);
return;
}
// Download each email by UIDL.
CkoEmail *email = [[CkoEmail alloc] init];
int count = [stUidls.Count intValue];
int i = 0;
while (i < count) {
// Download the full email.
NSString *uidl = [stUidls StringAt: [NSNumber numberWithInt: i]];
success = [mailman FetchByUidl: uidl headerOnly: NO numBodyLines: [NSNumber numberWithInt: 0] email: email];
if (success == NO) {
NSLog(@"%@",mailman.LastErrorText);
return;
}
NSLog(@"%d",i);
NSLog(@"%@%@",@"UIDL: ",uidl);
NSLog(@"%@%@",@"From: ",email.From);
NSLog(@"%@%@",@"Subject: ",email.Subject);
i = i + 1;
}
[mailman Pop3EndSession];