Ruby
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
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";