AMP Conf 2020: Save the date!
AMP
  • email

Hello World Email

Introduction

Learn how to create your first AMP email. This sample covers the basic structure of AMP emails.

Doctype declaration is required.

<!doctype html>

This tells everyone that this is an AMP email. <html amp4email> works too.

<html 4email>

The charset definition must be the first child of the <head> tag.

<meta charset="utf-8">

The AMP runtime.

<script async src="https://cdn.ampproject.org/v0.js"></script>

The AMP for Email boilerplate.

<style amp4email-boilerplate>body{visibility:hidden}</style>

Import AMP components in the header, for example the amp-carousel component.

<script async custom-element="amp-carousel" src="https://cdn.ampproject.org/v0/amp-carousel-0.1.js"></script>

Allowed CSS properties and selectors

All CSS in any AMP document must be included in a <style amp-custom> tag within the header as shown above. Inline style attributes are not allowed in AMP. CSS allowed within email messages vary depending on the email provider. For reference, the list of CSS properties and values allowed in Gmail can be found at Gmail Supported CSS Properties & Media Queries.

<style amp-custom>
  .emailbody {
    padding: 16px;
  }
  .helloworld {
    font-family: Helvetica;
    color: red;
    font-size: 24px;
    padding-bottom: 8px;
  }
  .images {
    max-width: 100%;
  }
</style>

The entire <style> tag cannot exceed 50,000 bytes. The validator will check for this.

Body

Just like in AMP web pages, most HTML tags can be used directly.

Hello!

<h1 class="helloworld">Hello!</h1>

Certain tags, such as the <img> tag, are replaced with equivalent or slightly enhanced custom AMP HTML tags (see HTML Tags in the specification).

<amp-img src="https://amp.dev/static/samples/img/amp.jpg"
  width="800"
  height="600"
  layout="responsive"></amp-img>

URLs most use absolute paths in AMP for Email.

Since we imported the amp-carousel component in the header as example, let's try it here.

<amp-carousel width="800"
  height="600"
  layout="responsive"
  type="slides"
  controls>
  <amp-img src="https://amp.dev/static/samples/img/image1.jpg"
    width="800"
    height="600"
    alt="a sample image"></amp-img>
  <amp-img src="https://amp.dev/static/samples/img/image2.jpg"
    width="800"
    height="600"
    alt="another sample image"></amp-img>
  <amp-img src="https://amp.dev/static/samples/img/image3.jpg"
    width="800"
    height="600"
    alt="and another sample image"></amp-img>
</amp-carousel>
需要进一步说明?

如果此页面的说明未能涵盖您的所有问题,欢迎与其他 AMP 用户取得联系,讨论您的具体用例。

前往 Stack Overflow
一项无法解释的功能?

AMP 项目强烈鼓励您参与其中并作出贡献!我们希望您能成为我们开源社区的持续参与者,但我们也欢迎您对热衷问题做出单次贡献。

在 GitHub 上编辑实例