Sample code for 30+ languages & platforms
Tcl

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

Tcl

load ./chilkat.dll

set success 0

# 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.
set email [new_CkEmail]

CkEmail_put_Body $email "This is the plain text part."
CkEmail_put_Subject $email "Apple Watch Example"
CkEmail_put_From $email "from@example.org"
CkEmail_AddTo $email "" "to@example.org"

puts [CkEmail_getMime $email]
puts "--"

# 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..
set mime [new_CkMime]

CkMime_LoadMime $mime [CkEmail_getMime $email]

# Convert this MIME to multipart/alternative.
CkMime_ConvertToMultipartAlt $mime

puts [CkMime_getMime $mime]
puts "--"

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

set partPlainText [new_CkMime]

set success [CkMime_PartAt $mime 0 $partPlainText]
if {$success == 0} then {
    puts [CkMime_lastErrorText $mime]
    delete_CkEmail $email
    delete_CkMime $mime
    delete_CkMime $partPlainText
    exit
}

CkMime_put_Charset $partPlainText "utf-8"
CkMime_put_Disposition $partPlainText "inline"
CkMime_put_Encoding $partPlainText "quoted-printable"

# Create the text/watch-html MIME part and add it.
set partWatchHtml [new_CkMime]

CkMime_put_ContentType $partWatchHtml "text/watch-html"
CkMime_put_Charset $partWatchHtml "utf-8"
CkMime_put_Disposition $partWatchHtml "inline"
CkMime_put_Encoding $partWatchHtml "quoted-printable"
CkMime_SetBody $partWatchHtml "<b>This is the Watch HTML part</b>"
CkMime_AppendPart $mime $partWatchHtml

puts [CkMime_getMime $mime]
puts "--"

# 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.
set partHtml [new_CkMime]

CkMime_put_ContentType $partHtml "text/html"
CkMime_put_Charset $partHtml "utf-8"
CkMime_put_Disposition $partHtml "inline"
CkMime_put_Encoding $partHtml "quoted-printable"
CkMime_SetBody $partHtml "<p>This is the standard HTML part</p>"
CkMime_AppendPart $mime $partHtml

puts [CkMime_getMime $mime]
puts "--"

# 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..
CkEmail_SetFromMimeText $email [CkMime_getMime $mime]
puts [CkEmail_getMime $email]

delete_CkEmail $email
delete_CkMime $mime
delete_CkMime $partPlainText
delete_CkMime $partWatchHtml
delete_CkMime $partHtml