Sample code for 30+ languages & platforms
CkPython

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

CkPython
import sys
import chilkat

success = 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.
email = chilkat.CkEmail()
email.put_Body("This is the plain text part.")
email.put_Subject("Apple Watch Example")
email.put_From("from@example.org")
email.AddTo("","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..
mime = chilkat.CkMime()
mime.LoadMime(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..

partPlainText = chilkat.CkMime()
success = mime.PartAt(0,partPlainText)
if (success == False):
    print(mime.lastErrorText())
    sys.exit()

partPlainText.put_Charset("utf-8")
partPlainText.put_Disposition("inline")
partPlainText.put_Encoding("quoted-printable")

# Create the text/watch-html MIME part and add it.
partWatchHtml = chilkat.CkMime()
partWatchHtml.put_ContentType("text/watch-html")
partWatchHtml.put_Charset("utf-8")
partWatchHtml.put_Disposition("inline")
partWatchHtml.put_Encoding("quoted-printable")
partWatchHtml.SetBody("<b>This is the Watch HTML part</b>")
mime.AppendPart(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.
partHtml = chilkat.CkMime()
partHtml.put_ContentType("text/html")
partHtml.put_Charset("utf-8")
partHtml.put_Disposition("inline")
partHtml.put_Encoding("quoted-printable")
partHtml.SetBody("<p>This is the standard HTML part</p>")
mime.AppendPart(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.SetFromMimeText(mime.getMime())
print(email.getMime())