(JavaScript) Create AMP for Email
Demonstrates how to create an email that has the AMP for Email Format.
See AMP for Email specification for more information.
var success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
var email = new CkEmail();
email.Subject = "Sample AMP for Email";
email.From = "mary@example.com";
email.AddTo("Joe","joe@example.com");
// Create the following AMP for Email HTML
// <!doctype html>
// <html amp4email>
// <head>
// <meta charset="utf-8">
// <style amp4email-boilerplate>body{visibility:hidden}</style>
// <script async src="https://cdn.ampproject.org/v0.js"></script>
// </head>
// <body>
// Hello, world.
// </body>
// </html>
var sbAmp4Html = new CkStringBuilder();
sbAmp4Html.Append("<!doctype html>");
sbAmp4Html.Append("<html amp4email>");
sbAmp4Html.Append("<head>");
sbAmp4Html.Append("<meta charset=\"utf-8\">");
sbAmp4Html.Append("<style amp4email-boilerplate>body{visibility:hidden}</style>");
sbAmp4Html.Append("<script async src=\"https://cdn.ampproject.org/v0.js\"></script>");
sbAmp4Html.Append("</head>");
sbAmp4Html.Append("<body>");
sbAmp4Html.Append("Hello, world.");
sbAmp4Html.Append("</body>");
sbAmp4Html.Append("</html>");
// We want to build a multipart/alternative email, where the 1st alternative body
// is text/plain, the 2nd is text/x-amp-html, and the last is text/html.
// (Some email clients will only render the last MIME part, so we recommend placing the text/x-amp-html MIME part before the text/html MIME part.)
// First create a plain-text email body:
email.AddPlainTextAlternativeBody("Hello World in plain text!");
// Now add the text/x-amp-html.
email.SetTextBody(sbAmp4Html.GetAsString(),"text/x-amp-html");
// Now add an HTML body..
email.AddHtmlAlternativeBody("<span>Hello World in HTML!</span>");
// See what we have:
console.log(email.GetMime());
// This is the result:
// MIME-Version: 1.0
// Date: Thu, 30 May 2019 09:37:56 -0500
// Message-ID: <923A689FF657170A9F662B4CE87978AB1EBD4DBD@CHILKATSLICE>
// Content-Type: multipart/alternative;
// boundary="------------040205090807060906020803"
// X-Priority: 3 (Normal)
// Subject: Sample AMP for Email
// From: mary@example.com
// To: Joe <joe@example.com>
//
// --------------040205090807060906020803
// Content-Transfer-Encoding: 7bit
// Content-Type: text/plain; charset=us-ascii; format=flowed
//
// Hello World in plain text!
// --------------040205090807060906020803
// Content-Transfer-Encoding: 7bit
// Content-Type: text/x-amp-html; charset=us-ascii
//
// <!doctype html><html amp4email><head><meta charset="utf-8"><style amp4email-boilerplate>body{visibility:hidden}</style><script async src="https://cdn.ampproject.org/v0.js"></script></head><body>Hello, world.</body></html>
// --------------040205090807060906020803
// Content-Transfer-Encoding: 7bit
// Content-Type: text/html; charset=us-ascii
//
// <span>Hello World in HTML!</span>
//
// --------------040205090807060906020803--
|