Sample code for 30+ languages & platforms
Objective-C

Get Contents of a T-Mobile Text Message (as Email)

See more Email Object Examples

How to get the contents of an email that originated as a T-Mobile SMS text.

Chilkat Objective-C Downloads

Objective-C
#import <CkoMime.h>
#import <CkoEmail.h>
#import <CkoStringBuilder.h>

BOOL success = NO;

// First, for the purpose of understanding the structure of the MIME,
// let's load the MIME into a Chilkat MIME object and examine the MIME structure.
CkoMime *mime = [[CkoMime alloc] init];

success = [mime LoadMimeFile: @"qa_data/eml/TMobileTextMsg.eml"];
// Show the MIME structure in text format (as opposed to XML format).
NSLog(@"%@",[mime GetStructure: @"text"]);

// The MIME structure for our test email looks like this:
// multipart/related
//     text/html
//     text/plain
//     image/gif
//     image/gif
//     image/gif

// The HTML part is not considered a "related item" because the related items
// are defined as being related to the HTML part.  Therefore, we should always
// expect to find a text/html part under a multipart/related.  The HTML parts
// is simply the HTML body, and the other parts are the related items.
// If the text/plain part was to be considered as an alternative body,
// then a properly structured email would include a multipart/alternative structure.

CkoEmail *email = [[CkoEmail alloc] init];

success = [email LoadEml: @"qa_data/eml/TMobileTextMsg.eml"];

// We should see 4 related items.
NSLog(@"%@%d",@"Num Related Items = ",[email.NumRelatedItems intValue]);
// There should be 0 attachments.  
NSLog(@"%@%d",@"Num Attachments = ",[email.NumAttachments intValue]);

// Find the indices of the text/plain related part, and the text/html related part
int i = 0;
int numRelatedItems = [email.NumRelatedItems intValue];
CkoStringBuilder *sbContentType = [[CkoStringBuilder alloc] init];
while (i < numRelatedItems) {
    [sbContentType Append: [email GetRelatedContentType: [NSNumber numberWithInt: i]]];
    NSLog(@"%d%@%@",i,@": ",[sbContentType GetAsString]);
    if ([sbContentType ContentsEqual: @"text/plain" caseSensitive: NO]) {
        NSLog(@"%@",@"---- text/plain part:");
        NSLog(@"%@",[email GetRelatedString: [NSNumber numberWithInt: i] charset: @"utf-8"]);
    }

    [sbContentType Clear];
    i = i + 1;
}