Sample code for 30+ languages & platforms
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

Objective-C
#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];