Sample code for 30+ languages & platforms
Ruby 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 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";