Sample code for 30+ languages & platforms
Objective-C

List IMAP Mailboxes with Reference

Demonstrates how to list all sub-mailboxes within a specified context. In this case, we list all mailboxes under "INBOX.vendors".

Chilkat Objective-C Downloads

Objective-C
#import <CkoImap.h>
#import <NSString.h>
#import <CkoMailboxes.h>

BOOL success = NO;

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

CkoImap *imap = [[CkoImap alloc] init];

//  Connect to an IMAP server.
//  Use TLS
imap.Ssl = YES;
imap.Port = [NSNumber numberWithInt:993];
success = [imap Connect: @"imap.example.com"];
if (success == NO) {
    NSLog(@"%@",imap.LastErrorText);
    return;
}

//  Login
success = [imap Login: @"admin@chilkatsoft.com" password: @"myPassword"];
if (success == NO) {
    NSLog(@"%@",imap.LastErrorText);
    return;
}

//  Get the list of mailboxes.
NSString *refName = @"";
NSString *wildcardedMailbox = @"*";
BOOL subscribed = NO;

CkoMailboxes *mboxes = [[CkoMailboxes alloc] init];
success = [imap MbxList: subscribed reference: refName mbxPattern: wildcardedMailbox mboxes: mboxes];
if (success == NO) {
    NSLog(@"%@",imap.LastErrorText);
    return;
}

int i = 0;
while (i < [mboxes.Count intValue]) {
    NSLog(@"%@",[mboxes GetName: [NSNumber numberWithInt: i]]);
    i = i + 1;
}

//  Sample output looks like this:
//  INBOX.vendors.shareit
//  INBOX.vendors.paypal
//  INBOX.vendors.dell
//  INBOX.vendors.inMotion
//  INBOX.vendors.myhosting
//  INBOX.vendors.peer1

//  Disconnect from the IMAP server.
success = [imap Disconnect];