Sample code for 30+ languages & platforms
Swift Requires Chilkat v11.0.0+

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 Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    //  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.
    let email = CkoEmail()!
    email.body = "This is the plain text part."
    email.subject = "Apple Watch Example"
    email.from = "from@example.org"
    email.add(to: "", emailAddress: "to@example.org")

    print("\(email.getMime()!)")
    print("--")

    //  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..
    let mime = CkoMime()!
    mime.load(mimeText: email.getMime())

    //  Convert this MIME to multipart/alternative.
    mime.convertToMultipartAlt()

    print("\(mime.getMime()!)")
    print("--")

    //  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..

    let partPlainText = CkoMime()!
    success = mime.part(at: 0, subPart: partPlainText)
    if success == false {
        print("\(mime.lastErrorText!)")
        return
    }

    partPlainText.charset = "utf-8"
    partPlainText.disposition = "inline"
    partPlainText.encoding = "quoted-printable"

    //  Create the text/watch-html MIME part and add it.
    let partWatchHtml = CkoMime()!
    partWatchHtml.contentType = "text/watch-html"
    partWatchHtml.charset = "utf-8"
    partWatchHtml.disposition = "inline"
    partWatchHtml.encoding = "quoted-printable"
    partWatchHtml.setBody(str: "<b>This is the Watch HTML part</b>")
    mime.appendPart(mime: partWatchHtml)

    print("\(mime.getMime()!)")
    print("--")

    //  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.
    let partHtml = CkoMime()!
    partHtml.contentType = "text/html"
    partHtml.charset = "utf-8"
    partHtml.disposition = "inline"
    partHtml.encoding = "quoted-printable"
    partHtml.setBody(str: "<p>This is the standard HTML part</p>")
    mime.appendPart(mime: partHtml)

    print("\(mime.getMime()!)")
    print("--")

    //  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.set(fromMimeText: mime.getMime())
    print("\(email.getMime()!)")

}