Sample code for 30+ languages & platforms
Lua 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 Lua Downloads

Lua
local chilkat = require("chilkat")

-- 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.
local email = chilkat.Email.new()
email.body = "This is the plain text part."
email.subject = "Apple Watch Example"
email.from = "from@example.org"
email:add_to("", "to@example.org")

print(email:get_mime())
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..
local mime = chilkat.Mime.new()
mime:load_mime(email:get_mime())

-- Convert this MIME to multipart/alternative.
mime:convert_to_multipart_alt()

print(mime:get_mime())
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..

local partPlainText = chilkat.Mime.new()
local success = mime:part_at(0, partPlainText)
if not success then
    print(mime.last_error_text)
    return
end

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

-- Create the text/watch-html MIME part and add it.
local partWatchHtml = chilkat.Mime.new()
partWatchHtml.content_type = "text/watch-html"
partWatchHtml.charset = "utf-8"
partWatchHtml.disposition = "inline"
partWatchHtml.encoding = "quoted-printable"
partWatchHtml:set_body("<b>This is the Watch HTML part</b>")
mime:append_part(partWatchHtml)

print(mime:get_mime())
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.
local partHtml = chilkat.Mime.new()
partHtml.content_type = "text/html"
partHtml.charset = "utf-8"
partHtml.disposition = "inline"
partHtml.encoding = "quoted-printable"
partHtml:set_body("<p>This is the standard HTML part</p>")
mime:append_part(partHtml)

print(mime:get_mime())
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_from_mime_text(mime:get_mime())
print(email:get_mime())