C
C
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 C Downloads
#include <C_CkEmail.h>
#include <C_CkMime.h>
void ChilkatSample(void)
{
BOOL success;
HCkEmail email;
HCkMime mime;
HCkMime partPlainText;
HCkMime partWatchHtml;
HCkMime partHtml;
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 = CkEmail_Create();
CkEmail_putBody(email,"This is the plain text part.");
CkEmail_putSubject(email,"Apple Watch Example");
CkEmail_putFrom(email,"from@example.org");
CkEmail_AddTo(email,"","to@example.org");
printf("%s\n",CkEmail_getMime(email));
printf("--\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 = CkMime_Create();
CkMime_LoadMime(mime,CkEmail_getMime(email));
// Convert this MIME to multipart/alternative.
CkMime_ConvertToMultipartAlt(mime);
printf("%s\n",CkMime_getMime(mime));
printf("--\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 = CkMime_Create();
success = CkMime_PartAt(mime,0,partPlainText);
if (success == FALSE) {
printf("%s\n",CkMime_lastErrorText(mime));
CkEmail_Dispose(email);
CkMime_Dispose(mime);
CkMime_Dispose(partPlainText);
return;
}
CkMime_putCharset(partPlainText,"utf-8");
CkMime_putDisposition(partPlainText,"inline");
CkMime_putEncoding(partPlainText,"quoted-printable");
// Create the text/watch-html MIME part and add it.
partWatchHtml = CkMime_Create();
CkMime_putContentType(partWatchHtml,"text/watch-html");
CkMime_putCharset(partWatchHtml,"utf-8");
CkMime_putDisposition(partWatchHtml,"inline");
CkMime_putEncoding(partWatchHtml,"quoted-printable");
CkMime_SetBody(partWatchHtml,"<b>This is the Watch HTML part</b>");
CkMime_AppendPart(mime,partWatchHtml);
printf("%s\n",CkMime_getMime(mime));
printf("--\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 = CkMime_Create();
CkMime_putContentType(partHtml,"text/html");
CkMime_putCharset(partHtml,"utf-8");
CkMime_putDisposition(partHtml,"inline");
CkMime_putEncoding(partHtml,"quoted-printable");
CkMime_SetBody(partHtml,"<p>This is the standard HTML part</p>");
CkMime_AppendPart(mime,partHtml);
printf("%s\n",CkMime_getMime(mime));
printf("--\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..
CkEmail_SetFromMimeText(email,CkMime_getMime(mime));
printf("%s\n",CkEmail_getMime(email));
CkEmail_Dispose(email);
CkMime_Dispose(mime);
CkMime_Dispose(partPlainText);
CkMime_Dispose(partWatchHtml);
CkMime_Dispose(partHtml);
}