Swift
Swift
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
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()!)")
}