Sample code for 30+ languages & platforms
Objective-C

Create Apple Watch HTML (text/watch-html) Email

See more Email Object Examples

Demonstrates how to create an Apple Watch text/watch-html email.

Chilkat Objective-C Downloads

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

BOOL success = NO;

// This example will produce an email such as:

// 	MIME-Version: 1.0
// 	Date: Fri, 02 Jun 2017 09:17:06 -0500
// 	Message-ID: <E6F1F17104442EA09740322D3E2E78806C87FB80@CHILKAT13>
// 	X-Priority: 3 (Normal)
// 	Subject: Apple Watch Example
// 	From: from@example.org
// 	To: to@example.org
// 	Content-Type: multipart/alternative; boundary="------------080904030200000307060803"
// 
// 	--------------080904030200000307060803
// 	Content-Type: text/plain; charset=utf-8
// 	Content-Transfer-Encoding: quoted-printable
// 	Content-Disposition: inline
// 
// 	This is the plain text part.
// 	--------------080904030200000307060803
// 	Content-Type: text/watch-html; charset=utf-8
// 	Content-Disposition: inline
// 	Content-Transfer-Encoding: quoted-printable
// 
// 	<b>This is the Watch HTML part</b>
// 	--------------080904030200000307060803
// 	Content-Type: text/html; charset=utf-8
// 	Content-Disposition: inline
// 	Content-Transfer-Encoding: quoted-printable
// 
// 	<p>This is the standard HTML part</p>
// 	--------------080904030200000307060803--

// Create a new email instance to get the default auto-created fields.
CkoEmail *email = [[CkoEmail alloc] init];
email.Body = @"This is the plain text part.";
email.Subject = @"Apple Watch Example";
email.From = @"from@example.org";
[email AddTo: @"" emailAddress: @"to@example.org"];

NSLog(@"%@",[email GetMime]);
NSLog(@"%@",@"--");

// This is the MIME so far:
// (Chilkat automatically removes CKX-* headers when sending email.)

// 	MIME-Version: 1.0
// 	Date: Fri, 02 Jun 2017 09:17:06 -0500
// 	Message-ID: <E6F1F17104442EA09740322D3E2E78806C87FB80@CHILKAT13>
// 	Content-Type: text/plain; format=flowed
// 	Content-Transfer-Encoding: 7bit
// 	X-Priority: 3 (Normal)
// 	Subject: Apple Watch Example
// 	From: from@example.org
// 	To: to@example.org
// 
// 	This is the plain text part.

// We'll use the Chilkat MIME object to build it.
// The MIME API provides more flexibility..
CkoMime *mime = [[CkoMime alloc] init];
[mime LoadMime: [email GetMime]];

// Convert this MIME to multipart/alternative.
[mime ConvertToMultipartAlt];

NSLog(@"%@",[mime GetMime]);
NSLog(@"%@",@"--");

// We now have this MIME:

// 	MIME-Version: 1.0
// 	Date: Fri, 02 Jun 2017 09:17:06 -0500
// 	Message-ID: <E6F1F17104442EA09740322D3E2E78806C87FB80@CHILKAT13>
// 	X-Priority: 3 (Normal)
// 	Subject: Apple Watch Example
// 	From: from@example.org
// 	To: to@example.org
// 	Content-Type: multipart/alternative; boundary="------------080904030200000307060803"
// 
// 	--------------080904030200000307060803
// 	Content-Type: text/plain; format=flowed
// 	Content-Transfer-Encoding: 7bit
// 
// 	This is the plain text part.
// 	--------------080904030200000307060803--

// If we desire a particular charset, encoding, or disposition..

CkoMime *partPlainText = [[CkoMime alloc] init];
success = [mime PartAt: [NSNumber numberWithInt: 0] subPart: partPlainText];
if (success == NO) {
    NSLog(@"%@",mime.LastErrorText);
    return;
}

partPlainText.Charset = @"utf-8";
partPlainText.Disposition = @"inline";
partPlainText.Encoding = @"quoted-printable";

// Create the text/watch-html MIME part and add it.
CkoMime *partWatchHtml = [[CkoMime alloc] init];
partWatchHtml.ContentType = @"text/watch-html";
partWatchHtml.Charset = @"utf-8";
partWatchHtml.Disposition = @"inline";
partWatchHtml.Encoding = @"quoted-printable";
[partWatchHtml SetBody: @"<b>This is the Watch HTML part</b>"];
[mime AppendPart: partWatchHtml];

NSLog(@"%@",[mime GetMime]);
NSLog(@"%@",@"--");

// We now have this MIME:

// 	MIME-Version: 1.0
// 	Date: Fri, 02 Jun 2017 09:17:06 -0500
// 	Message-ID: <E6F1F17104442EA09740322D3E2E78806C87FB80@CHILKAT13>
// 	X-Priority: 3 (Normal)
// 	Subject: Apple Watch Example
// 	From: from@example.org
// 	To: to@example.org
// 	Content-Type: multipart/alternative; boundary="------------080904030200000307060803"
// 
// 	--------------080904030200000307060803
// 	Content-Type: text/plain; charset=utf-8
// 	Content-Transfer-Encoding: quoted-printable
// 	Content-Disposition: inline
// 
// 	This is the plain text part.
// 	--------------080904030200000307060803
// 	Content-Type: text/watch-html; charset=utf-8
// 	Content-Disposition: inline
// 	Content-Transfer-Encoding: quoted-printable
// 
// 	<b>This is the Watch HTML part</b>
// 	--------------080904030200000307060803--

// Create the text/html MIME part and add it.
CkoMime *partHtml = [[CkoMime alloc] init];
partHtml.ContentType = @"text/html";
partHtml.Charset = @"utf-8";
partHtml.Disposition = @"inline";
partHtml.Encoding = @"quoted-printable";
[partHtml SetBody: @"<p>This is the standard HTML part</p>"];
[mime AppendPart: partHtml];

NSLog(@"%@",[mime GetMime]);
NSLog(@"%@",@"--");

// We now have this MIME:

// 	MIME-Version: 1.0
// 	Date: Fri, 02 Jun 2017 09:17:06 -0500
// 	Message-ID: <E6F1F17104442EA09740322D3E2E78806C87FB80@CHILKAT13>
// 	X-Priority: 3 (Normal)
// 	Subject: Apple Watch Example
// 	From: from@example.org
// 	To: to@example.org
// 	Content-Type: multipart/alternative; boundary="------------080904030200000307060803"
// 
// 	--------------080904030200000307060803
// 	Content-Type: text/plain; charset=utf-8
// 	Content-Transfer-Encoding: quoted-printable
// 	Content-Disposition: inline
// 
// 	This is the plain text part.
// 	--------------080904030200000307060803
// 	Content-Type: text/watch-html; charset=utf-8
// 	Content-Disposition: inline
// 	Content-Transfer-Encoding: quoted-printable
// 
// 	<b>This is the Watch HTML part</b>
// 	--------------080904030200000307060803
// 	Content-Type: text/html; charset=utf-8
// 	Content-Disposition: inline
// 	Content-Transfer-Encoding: quoted-printable
// 
// 	<p>This is the standard HTML part</p>
// 	--------------080904030200000307060803--

// Load the email object with this MIME, and we're good to go..
[email SetFromMimeText: [mime GetMime]];
NSLog(@"%@",[email GetMime]);