Sample code for 30+ languages & platforms
Ruby

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

Ruby
require '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.new()
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() + "\n";
print "--" + "\n";

# 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.new()
mime.LoadMime(email.getMime())

# Convert this MIME to multipart/alternative.
mime.ConvertToMultipartAlt()

print mime.getMime() + "\n";
print "--" + "\n";

# 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.new()
success = mime.PartAt(0,partPlainText)
if (success == false)
    print mime.lastErrorText() + "\n";
    exit
end

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.new()
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() + "\n";
print "--" + "\n";

# 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.new()
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() + "\n";
print "--" + "\n";

# 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() + "\n";