Sample code for 30+ languages & platforms
Objective-C

MIME Multipart Boundary and Preamble Properties

See more MIME Examples

Demonstrates the Boundary property, which gets or sets the raw boundary token of a multipart entity (without surrounding quotation marks), and UseMmDescription, which controls whether the conventional preamble text is emitted when serializing a multipart entity.

Background. A multipart boundary separates the constituent parts. Chilkat quotes the token automatically in the header when required. The preamble is ignored by MIME-aware readers and is off by default.

Chilkat Objective-C Downloads

Objective-C
#import <CkoMime.h>
#import <NSString.h>

BOOL success = NO;

CkoMime *mime = [[CkoMime alloc] init];

//  Create a multipart/mixed entity.
success = [mime NewMultipartMixed];
if (success == NO) {
    NSLog(@"%@",mime.LastErrorText);
    return;
}

//  Boundary is the raw boundary token, without surrounding quotation marks.  Chilkat quotes it
//  automatically in the serialized header when required.
mime.Boundary = @"example-boundary";

//  UseMmDescription controls whether the conventional preamble text
//  "This is a multi-part message in MIME format." is emitted.  The default is false.
mime.UseMmDescription = YES;

//  Add a simple part so the multipart has content.
CkoMime *part = [[CkoMime alloc] init];
success = [part SetBodyFromPlainText: @"First part."];
if (success == NO) {
    NSLog(@"%@",part.LastErrorText);
    return;
}

success = [mime AppendPart: part];
if (success == NO) {
    NSLog(@"%@",mime.LastErrorText);
    return;
}

NSLog(@"%@%@",@"Boundary = ",mime.Boundary);

NSString *mimeStr = [mime GetMime];
if (mime.LastMethodSuccess == NO) {
    NSLog(@"%@",mime.LastErrorText);
    return;
}

NSLog(@"%@",mimeStr);