Sample code for 30+ languages & platforms
Objective-C

Create AMP for Email

See more Email Object Examples

Demonstrates how to create an email that has the AMP for Email Format.

See AMP for Email specification for more information.

Chilkat Objective-C Downloads

Objective-C
#import <CkoEmail.h>
#import <CkoStringBuilder.h>

BOOL success = NO;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

CkoEmail *email = [[CkoEmail alloc] init];

email.Subject = @"Sample AMP for Email";
email.From = @"mary@example.com";
[email AddTo: @"Joe" emailAddress: @"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>

CkoStringBuilder *sbAmp4Html = [[CkoStringBuilder alloc] init];
[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] contentType: @"text/x-amp-html"];

// Now add an HTML body..
[email AddHtmlAlternativeBody: @"<span>Hello World in HTML!</span>"];

// See what we have:
NSLog(@"%@",[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--