Sample code for 30+ languages & platforms
Java 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 Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Email;
import com.chilkatsoft.chilkat2.Mime;

public class ChilkatExample {

    public static void main(String[] args) {
        // 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 email = new Email();
        email.setBody("This is the plain text part.");
        email.setSubject("Apple Watch Example");
        email.setFrom("from@example.org");
        email.addTo("", "to@example.org");

        System.out.println(email.getMime());
        System.out.println("--");

        // 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 mime = new Mime();
        mime.loadMime(email.getMime());

        // Convert this MIME to multipart/alternative.
        mime.convertToMultipartAlt();

        System.out.println(mime.getMime());
        System.out.println("--");

        // 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..

        Mime partPlainText = new Mime();
        try {
            mime.partAt(0, partPlainText);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        partPlainText.setCharset("utf-8");
        partPlainText.setDisposition("inline");
        partPlainText.setEncoding("quoted-printable");

        // Create the text/watch-html MIME part and add it.
        Mime partWatchHtml = new Mime();
        partWatchHtml.setContentType("text/watch-html");
        partWatchHtml.setCharset("utf-8");
        partWatchHtml.setDisposition("inline");
        partWatchHtml.setEncoding("quoted-printable");
        partWatchHtml.setBody("<b>This is the Watch HTML part</b>");
        mime.appendPart(partWatchHtml);

        System.out.println(mime.getMime());
        System.out.println("--");

        // 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.
        Mime partHtml = new Mime();
        partHtml.setContentType("text/html");
        partHtml.setCharset("utf-8");
        partHtml.setDisposition("inline");
        partHtml.setEncoding("quoted-printable");
        partHtml.setBody("<p>This is the standard HTML part</p>");
        mime.appendPart(partHtml);

        System.out.println(mime.getMime());
        System.out.println("--");

        // 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());
        System.out.println(email.getMime());
    }
}